算法 排序
very_happy
爱编程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
插入排序
插入排序时一种简单直观的排序算法。思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。原创 2015-03-17 20:00:39 · 424 阅读 · 0 评论 -
桶排序
桶排序(Bucket sort)是一种排序算法,原理是将数组分到有限数量的桶中,每个桶中的数据再进行排序。当数组元素是均匀分配时,桶排序使用线性时间。桶排序不是基于”比较排序”,所以不受nlognnlogn下限的影响。 基于比较的排序最有时间复杂度为nlognnlogn。 桶排序动画效果参考文献: 桶排序-百度百科 桶排序动画原创 2016-01-23 21:48:41 · 480 阅读 · 0 评论 -
基于比较排序时间复杂度下界
对于nn个待排序元素经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2n!/2种;依次类推,直到经过mm次比较,剩余可能性n!/(2m)n!/(2^m)种;直到n!/(2m)≤1n!/(2^m) \le 1时,结果只剩下一种,此时mm为O(nlogn)O(nlogn);根据Stirling’s approximation可知:m=O(nlogn)m = O(nlogn)转载 2016-01-23 22:31:18 · 1527 阅读 · 0 评论 -
JAVA Stack
在java中,Stack类位于java.util包下,继承Vector类:public class Stack<E>extends Vector<E>Stack类包含了一般栈逻辑相关的方法:public E push(E item)push向栈中添加元素。public E pop()pop是出栈方法,返回栈顶元素并删除栈顶元素,此时栈中元素数目将减少一个。若栈为空时,会发生异常EmptyStack原创 2016-02-29 16:52:56 · 478 阅读 · 0 评论
分享