折半查找插入排序
折半查找插入排序
本文将结合 二分查找
和 直接插入排序
的知识点,介绍折半查找插入排序
点击 -> 二分查找
点击 -> 直接插入排序
算法思想
在维护一个有序序列的过程中,从左往右看,使用二分查找出第一个比 base
大的数的位置 l
,然后将元素后移,在 l
处腾出空间,将 base
插入。
一个简单的例子:
算法模板
1 |
|
折半查找插入排序 VS 直接插入排序
- 最好情况:O(n)
- 平均情况:理论上来说,折半查找插入排序是比直接插入排序要快的,毕竟是直接插入排序的优化版本。折半查找插入排序通过二分来优化比较次数,时间复杂度是O(nlogn),但是移动次数并没有优化,因此时间复杂度还是O(n2)与直接插入排序一样。
- 最坏情况:O(n2)
技术支持
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Phbeats-Blog!
评论