算法入门-插入排序
插入排序 - javascript
插入排序的空间复杂度为O(1) ,则不需要额外的空间而是位移;
最佳的情况下T(n) = O(n)
最坏情况下T(n) = O(n2)
插入排序与扑克牌整理无异:
综图所述:
假设现在有数组let arr = [3,1,2,4];
- 拿出一个元素,例如1,往前比;
- 元素1与前面的元素进行比较,如果元素1小于前面的元素,元素1值=上一个对比元素;[3,3,2,4];达到了结束条件(对比元素index<0并且前一个对比元素小于当前元素)这时候值为[1,3,2,4];
- 然后到元素2与前一个元素对比,达到交换条件[1,3,3,4],然后元素2与前一个元素index-1对比(前前个元素)达到结束条件(元素2大于对比元素);停止,[1,2,3,4];
如果用代码表示,则是:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!