计数排序是一个非基于比较的线性时间排序算法。它对输入的数据有附加的限制条件: 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
针对12位高速模数转换芯片MAX187的读取程序
上传时间: 2015-10-30
上传用户:奇奇奔奔
集群应用研发-MPI_并行程序设计曹振南老师的!
上传时间: 2013-12-10
上传用户:myworkpost
模数转换器的基本知识和应用知识介绍与说明
上传时间: 2015-10-30
上传用户:zhangzhenyu
一种机器人滑模控制器设计,s函数和simulink结合编程实现
上传时间: 2015-10-30
上传用户:ommshaggar
模态参数识别ERA方法的源代码,可利用该方法进行环境激励下结构模态参数识别。
上传时间: 2015-10-31
上传用户:asdfasdfd
小波模极大源代码,可用来进行小波降噪或小波模态参数识别,该代码为斯坦福大学源码。
上传时间: 2015-10-31
上传用户:lijinchuan
模似WINDOWS计算器,java工程项目,源代码,编译环境jbuilder,装入项目即可执行
上传时间: 2015-11-04
上传用户:无聊来刷下
交互多模算法,用于目标多机动假设运动情况下的蒙特卡罗法仿真跟踪滤波器。
上传时间: 2015-11-04
上传用户:kiklkook
单片机 数据采集实验 利用模数转换来实现 大家可以好好看看
上传时间: 2013-12-26
上传用户:jqy_china