countingsort-radixsort-bucketsort
分类:
其他好文 时间:
2014-09-26 13:54:28
阅读次数:
157
#include #include #include void ArrPrint(std::vector const & arr){ for (auto i : arr){ printf("%d ", i); } printf("\n");}//iBase 桶数void radixsort(std....
分类:
其他好文 时间:
2014-09-23 14:52:04
阅读次数:
236
一 插入排序简单插入排序希尔排序二 快速排序三 选择排序简单选择排序树形选择排序堆排四 归并排序五 基数排序
分类:
其他好文 时间:
2014-09-16 10:32:30
阅读次数:
178
参考资料:算法导论note1:桶排序是另外一种以O(n)或者接近O(n)的复杂度排序的算法. 它假设输入的待排序元素是等可能的落在等间隔的值区间内.一个长度为N的数组使用桶排序, 需要长度为N的辅助数组. 等间隔的区间称为桶, 每个桶内落在该区间的元素. 桶排序是基数排序的一种归纳结果note2:待...
分类:
其他好文 时间:
2014-09-13 17:11:55
阅读次数:
217
参考资料:算法导论性能:给定n个d位数,每一个数位可以取k种可能的值,基数排序算法时间为O(d(n+k)),当d为常数,k=O(n)时,基数排序为O(n)时间优点:稳定排序缺点:不是原地排序实现代码(用户需要提供一个RSHelper的实现即可完成排序,本例给出一个随意的实现仅作示意)RadixSor...
分类:
其他好文 时间:
2014-09-12 23:22:44
阅读次数:
289
算法导论:任意一个比较排序算法,在最坏的情况下,至少要做n*lg(n)次的比较,因此堆排序与归并排序是渐近最优的比较排序算法但计数排序、基数排序和桶排序都不采用比较的方式来确定元素的顺序,因此下界n*lg(n)对它们并不适用计数排序假设被排序的元素都在范围[0, k]中,k为正整数,当k=O(n)的...
分类:
其他好文 时间:
2014-09-09 20:05:59
阅读次数:
201
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢...
分类:
其他好文 时间:
2014-09-02 10:25:14
阅读次数:
218
桶排序的基本思想假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶) 。然后基于某种映射函数 ,将待排序列的关键字k映射到第i个桶中(即桶数组B的下标 i) ,那么该关键字k就作为B[i]中的元素(每个桶B[i]都是一组大小为N/M的序列)。接着对每个桶B[i...
分类:
其他好文 时间:
2014-09-02 10:15:44
阅读次数:
237