算法学习
文章平均质量分 78
sherilindas
这个作者很懒,什么都没留下…
展开
-
插入排序-Insert Sort
首先,把首个元素当做已排好的元素(如下图(a)中,4为已排好的元素)。 然后接着每步把下一个元素抽出来称为E元素(如下图(b)中,3为抽出来的元素E)。 E元素与前面的元素对比,如果比前一个元素小,则前一个元素后移(如图(c)中,3<4,4往后移)。 然后这个E元素继续往前比,小则前一个元素往后移。直到前一个元素比E小,E将插入这个地方。这步完成后E将会传到该在的位置(如图(d))。 所以经原创 2016-07-12 23:26:14 · 1198 阅读 · 0 评论 -
计数基数排序法
基数排序:将记录的关键字看成由m个关键字复合而成,每个关键字可能取r个值,则只要从最低位关键字器,先按关键字的不同值将记录“分配”到r 个子序列,再按从小到大将各子序列依次首尾相接“收集”在一起,如此重复m趟,最终完成整个记录序列的排序。 例如:分扑克牌,先把每张牌分为4个花色,各自排序后,以黑桃到砖块的顺序相接在一起。基数排序分为链式基数排序和计数基数排序。 计数基数排序是在顺序存储结构中实现原创 2016-10-21 12:03:49 · 1036 阅读 · 0 评论 -
快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产原创 2016-10-23 23:19:23 · 475 阅读 · 0 评论 -
希尔排序
希尔排序其实是直接插入排序的一个拓展。虽然没有直接证明说明希尔排序比直接插入排序快,但是在并行运算上,希尔排序的确十分优秀。而且这是一个不稳定的排序算法。为什么用希尔排序: 直接插入排序有个不足之处是当一个数组是十分无序的状态时,排序的时间复杂度较久。特别是要将一个逆序的数组排为顺序的数组,这个逆序的数组相当于完全无序的,而直接插入排序需要的时间久。(数据多时,且无序)而如何使排序时间减少呢,那么对原创 2016-10-15 14:52:19 · 1249 阅读 · 0 评论