计数排序是一个非基于比较的线性时间排序算法。它对输入的数据有附加的限制条件: 1、输入的线性表的元素属于有限偏序集S; 2、设输入的线性表的长度为n,|S|=k(表示集合S中元素的总数目为k),则k=O(n)。 在这两个条件下,计数排序的复杂性为O(n)。 计数排序算法的基本思想是对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。一旦有了这个信息,就可以将x直接存放到最终的输出序列的正确位置上。例如,如果输入序列中只有17个元素的值小于x的值,则x可以直接存放在输出序列的第18个位置上。 计数排序算法没有用到元素间的比较,它利用元素的实际值来确定它们在输出数组中的位置。因此,计数排序算法不是一个基于比较的排序算法,从而它的计算时间下界不再是Ω(nlogn)。另一方面,计数排序算法之所以能取得线性计算时间的上界是因为对元素的取值范围作了一定限制,即k=O(n)。如果k=n2,n3,..,就得不到线性时间的上界。
上传时间: 2015-10-30
上传用户:chenxichenyue
排序算法,初学数据结构及算法的入门者值得一看
上传时间: 2013-12-10
上传用户:asdfasdfd
单片机用来实现数据排序程序(冒泡排序算法)
上传时间: 2015-11-14
上传用户:jkhjkh1982
数据结构教材中的全部排序算法,结构清楚 很好用的
上传时间: 2015-11-15
上传用户:金宜
用C++语言简单的实现数据结构中数据的冒泡排序算法的程序代码
上传时间: 2013-12-09
上传用户:invtnewer
介绍了一种改进的Huffman数据压缩算法。针对Huffman算法的不足,首先对编码溢出进行了改进,通过线性链表存储编 码,第二个改进是采用堆排序算法,这种方法可以减少对内存读写的次数,提高系统的响应速度。论文最后采用3个JPG文件对 Huffman*和经典的Huffman进行了对比分析,实验表明改进算法的耗时与经典算法相比要少的多。 关键词:数据压缩 Huffman 编码 字典
上传时间: 2015-12-26
上传用户:离殇
把数据结构里面的排序算法实现,可以方便大家用来学习。
上传时间: 2013-12-22
上传用户:vodssv
比快速排序更快的排序算法;这个了示例包含多种数据结构的算法,如InsertSort,ShellSort,BubbleSort,SelectSort,BinaryInsertSort,TableInsertSort,QuickSort,CoutingSort。对于每个算法用1万个数据比较排序性能,并且使用精确计时器(精度远远大于ms,到达us),使用正序,逆序,随机序列进行比较性能分析。
上传时间: 2013-12-18
上传用户:aeiouetla
用C#编写的拓扑排序算法程序(数据结构) 本程序用到了Framework 2.0 里新增的泛型, 代码简洁,且容易理解。
上传时间: 2014-01-07
上传用户:xinyuzhiqiwuwu
这是用汇编写的一个排序算法,我个人认为前面的排序算法和数据输入存储方法很好!共享一下
上传时间: 2016-03-02
上传用户:lx9076