python二分排序算法

二分排序:二分排序是指利用二分法的思想对插入排序进行改进的一种插入排序算法,不同于二叉排序,可以利用数组的特点快速定位指定索引的元素。

二分排序算法只对于事先排好序的算法有效故在使用二分排序算法之前要对样本序列进行排序

排序后,开始进行二分查询:

设定俩个标志位:start和stop,取二者平均值和查询数字进行比较,如果可以查到则有以下三种结果:

(1)mid所在位置数字大于待查询数字,说明待查询数字在左边。移动stop指向,修改mid的值

(2)mid所在位置数字小于待查询数字,说明待查询数字在右边。移动start指向,修改mid的值

(3)mid所在位置数字等于待查询数字,则输出该数字在样本序列中的位置

若查询无果,用户也要输出相应的提示信息

代码实现:

python二分排序算法