排序
文章平均质量分 70
二次元中毒者
众多IT民工中的一员。爱好动漫,电影。闲的时候喜欢喝喝咖啡,看看书,散散步。新的开始,开始学着热爱C#,热爱码工的生活~ Life Pattern:coding-> read paper->coding->read paper---->
展开
-
Heap 排序
Heap排序想必大家都知道。原创 2014-10-30 18:59:09 · 624 阅读 · 0 评论 -
链表排序
对链表进行合并算法排序,基本s原创 2014-11-19 11:31:28 · 364 阅读 · 0 评论 -
合并排序算法 (Merge Sort)优化
Merge Sort很受欢迎 ,也经常出现在面试过程中。之前写过一个Merge sort的一个算法(算法和大部分算法教程一样),本文对Merge sort做了些优化。测试显示比之前的版本速度提高不少。Merge Sort的主要思想是把一个大数组分解成小数组,分别对小数组进行sort,然后把sort好的两个小数组合并起来。在合并的时候一般需要额外的空间来从放中间值。因此,分配空间的次原创 2015-01-17 09:48:40 · 2701 阅读 · 0 评论 -
Shell Sort
Shell sort是对插入排序的扩展,但是比插入排序速度快很多。做了一个有趣的对比试验,比较shell sort和merge sort。先把需要排序的数组分为大(>1M),中(1K假如我们的所要排序的数组相对不是特别大,shell sort是个不错的选择。另外,shell sort不需要额外分配空间(merge需要分配额外空间)。一下是shell sort 的Java 实现。原创 2015-01-17 10:11:29 · 557 阅读 · 0 评论 -
基数排序
基数排序的基本思想是,先通过个位数字排序,让后根据十位数排序,,重复以上知道排序结束。读Java算法教材,上面通过Queue来保存中间值,然而优先序列加入新元素需要log(n)的复杂度,总觉得应该有数组来代替。其次,好多实现代码都需要给定最大的位数,要单独计算最大位数的话需要O(n)的复杂度,为什么不增加一个计数器来搞定呢?一下是Java实现版本,目前只支持任意正整数排序。如果有更好的原创 2015-02-04 14:39:51 · 372 阅读 · 0 评论