排序算法——计数排序

来源:互联网 发布:什么域名好 编辑:程序博客网 时间:2024/05/16 18:29

之前分析过对于n个元素进行排序,通过比较的方法比较次数的下限时nlogn,要想实现线性的排序算法,需要获取输入数据的额外信息。

这里介绍基数排序,是一种简单的排序,时间复杂度为O(n),但是需要限定输入数据的范围:例如输入数据是0~K范围内的数据。

在进行排序时,通过辅助数组C[0~K]来记录“输入数组A[0~n]中每个元素A[i]应该在输出数组B[0~n]中的最终位置C[A[i]]“,最后直接将A[i]插入B的合适位置B[C[A[i]]],从而保证输出数组有序。

原创粉丝点击