算法:

1
2
3
4
5
for i = 2:n,
    for (k = i; k > 1 and a[k] < a[k-1]; k--) 
        swap a[k,k-1]
    → invariant: a[1..i] is sorted
end

算法性质:

  • 稳定
  • 需要O(1)的额外空间开销
  • 需要O(n2)复杂度的比较和交换。
  • 具有自适应性:当待排序序列接近有序时,复杂度为O(n)。
  • 开销较低

讨论:

虽然在最坏情况下,插入法排序的复杂度为O(n2),但当序列已经接近有序(算法具有自适应性)或者问题规模比较小(空间开销很小)时,插入法排序还是一种比较好的选择。所以,插入法排序,通常可以作为其他诸如归并排序、快速排序等递归递归排序的基础。

[tip]
关于自适应性的一种解释:自适应性是指特定条件下形状结构及过程自身的趋向性.
[/tip]

Tags: ,.
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
Home

RFC: Request For Comments. Orz..

Name(required)
Mail (required),(will not be published)

RFC: Request For Comments. Orz..

Website(recommended)