注意与基数排序区分,这是两个不同的排序 计数排序的过程类似小学选班干部的过程,如某某人10票,作者9票,那某某人是班长,作者是副班长 大体分两部分,第一部分是拉选票和投票,第二部分是根据你的票数入桶 看下具体的过程,一共需要三个数组,分别是待排数组,票箱数组,和桶数组 var unsorted = ...
分类:
编程语言 时间:
2017-03-09 22:37:29
阅读次数:
197
基数排序算法是计数排序的延伸,计数排序会造成很大的空间浪费,但基数排序法是对位数进行排序,适合于位数之间相差较大的情况,废话不多说,直接上代码: 升序排序法: 降序排序法: ...
分类:
编程语言 时间:
2017-03-09 10:44:14
阅读次数:
153
计数排序是线性排序。 升序排序: 降序排序: ...
分类:
编程语言 时间:
2017-03-08 22:31:43
阅读次数:
144
基数排序 第11节 基数排序练习题 <!--more--> 对于一个int数组,请编写一个基数排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素均小于等于2000。 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] Java (java ...
分类:
编程语言 时间:
2017-03-08 22:30:08
阅读次数:
179
计数排序 第10节 计数排序练习题 <!--more--> 对于一个int数组,请编写一个计数排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] Java (javac 1.7) 代码自动补全 ...
分类:
编程语言 时间:
2017-03-08 21:17:24
阅读次数:
197
理解了基数排序,也就理解了桶排序。 桶排序就是基数排序的一种优化,从MSD开始,即取最高位来排一次序,如果最高位没有重复(意味着没有冲突需要处理),是算法的最佳状态,O(n)。 如果有冲突,就将冲突的元素存放到对应的桶里(代码就是一个链表或者数组或者stl容器),然后对每个桶进行一次插入排序,平均情 ...
分类:
编程语言 时间:
2017-03-01 23:15:09
阅读次数:
323
计数,基数的中文读音都一样,这翻译的人还嫌我们计算机不够乱,真的想吐槽。 不管了,毕竟代码还是不一样的。 1、计数排序(counter sort): 通过一个上限来统计集合里的数值(或者其他非数值类型映射的数值),并累计比小于自己(包括)的数值的统计的个数,从而形成排序的索引(也就是前面有多少个小于 ...
分类:
编程语言 时间:
2017-02-28 22:54:20
阅读次数:
283
public class MySort { final int MAX=20; int num[]=new int[MAX]; { System.out.print("生成的随机数组是:"); for(int i=0;i<20;i++){ num[i]=(int)(Math.random()*100 ...
分类:
编程语言 时间:
2017-02-28 20:49:50
阅读次数:
225
转自:http://www.cnblogs.com/kaituorensheng/archive/2013/02/23/2923877.html 基本思想 假设数序列中小于元素a的个数为n,则直接把a放到第n+1个位置上。当存在几个相同的元素时要做适当的调整,因为不能把所有的元素放到同一个位置上。计 ...
分类:
编程语言 时间:
2017-02-27 19:06:56
阅读次数:
223
这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序,分享给大家一起学习。 分类1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序( ...
分类:
编程语言 时间:
2017-02-27 01:12:47
阅读次数:
372