线性时间排序 计数排序(Counting Sort)
基本思想:我们已经学习过其他的排序算法,插入排序,归并排序,快速排序,随机快速排序,堆排序等等。但是这些算法最快的也要O(nlgn)。如何做到线性时间的排序呢?我们常说,空间和时间代价可以转换。我们可以利用牺牲时间来获取空间,也可以牺牲空间来获取时间。计数排序就是这样一种牺牲存储空间来获取更快时间的一种方法。 定义一个数组C,C的大小为K+1,K是输入数列中的最大数M;数组A中为要排序的整
原创
2016-07-04 15:09:26 ·
602 阅读 ·
0 评论