折半插入排序

Posted sunbines

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了折半插入排序相关的知识,希望对你有一定的参考价值。

算法简介

折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。

算法动态演示:

技术分享图片

 

算法思想

 

用折半查找方法确定插入位置的排序。思想类似直接插入排序,只不过,要设置 mid=不大于(low+high)/2的最大整数,当插入到 mid 左边(做半区),则改变 high(mid-1),如果插入到 mid 右边,则改变 low(mid+1)。

初试序列,同样是把第一个记录看成是有序的子序列,然后从第二个记录开始,依次进行比较

技术分享图片

 

参考资料

1. 折半插入排序

以上是关于折半插入排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法:折半插入排序

从二分查找到折半插入排序

理解折半插入排序

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

排序算法2--插入排序--折半插入排序

Python|理解折半插入排序