上一篇讲到的直接插入排序,时间复杂度O(n^2). 请在脑海里想一下它的过程。如果一个序列本来就是有序的,对它排序的时间复杂度是O(n)。所以当序列基本有序时,插入排序排序的效率大提高,因为减少了移动的动作。
另外,接插入排序还有一个特点,当n比较小时,它的效率比较高。...
分类:
其他好文 时间:
2014-07-04 08:54:11
阅读次数:
302
作为排序算法的一种,插入排序是稳定排序。它的时间复杂度:O(n*n),空间复杂度为:O(1)。最好的时间复杂度为:O(n),最坏和平均则为:O(n*n)。 算法的思想:给定一组无序的数组,我们从它的第二个数开始,并将它赋值给mark变量,让mark和它前面的一个数作大小比较,若小于前面的那个...
分类:
其他好文 时间:
2014-07-04 00:15:22
阅读次数:
296
用HTML5实现的各种排序算法的动画比较http://www.webhek.com/misc/comparison-sort/几种排序算法效率的比较来源:http://blog.chinaunix.net/uid-20773165-id-1847742.html1.稳定性比较插入排序、冒泡排序、二叉...
分类:
Web程序 时间:
2014-07-03 00:31:30
阅读次数:
342
有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?事实上我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言(golang),就是由于两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是很主观的结论。可...
分类:
其他好文 时间:
2014-07-02 22:01:42
阅读次数:
308
1) Append a slice b to an existing slice a: a = append(a, b...)2) Copy a slice a to a new slice b: b = make([]T, len(a))copy(b, a)3) Delete item at in...
分类:
移动开发 时间:
2014-07-02 18:52:39
阅读次数:
182
//希尔排序在直接插入排序算法中,每次插入一个数,使有序序列仅仅添加1个节点,而且对插入下一个数没有提供不论什么帮助。假设比較相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比較就可能消除多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。算法先...
分类:
其他好文 时间:
2014-07-02 17:20:07
阅读次数:
192
【题目】
Sort a linked list using insertion sort.
【题意】
用插入排序方法排序链表
【思路】
直接搞...
分类:
其他好文 时间:
2014-07-02 08:33:49
阅读次数:
200
继《排序(一)__综述》后,对简单算法中的冒泡排序、简单选择排序和简单插入排序进行较为详细的解析。...
分类:
其他好文 时间:
2014-07-02 07:28:28
阅读次数:
192
发现科大网页的源码中还有文章的点击率,何不做一个文章点击率的降序排行。简单,前面入门(1)基本已经完成我们所要的功能了,本篇我们仅仅需要添加:一个通过正则获取文章点击率的数字;再加一个根据该数字的插入排序。ok,大功告成!简单说一下本文插入排序的第一个循环,找到列表中最大的数,放到列表 0 的位置做...
分类:
编程语言 时间:
2014-07-01 14:01:14
阅读次数:
245