您的位置:首页 > 其它

二分查找(Binary Search)

2016-04-07 18:50 302 查看
好多算法题都需要用到二分查找,binary search的思路很简单,即在一个有序序列中不断将target值与序列中间位置值作比较,然后通过递归求得结果。

下面是一段将value值插入有序序列合适位置(使插入value后使序列仍然有序)的代码:

def binary_search(self, array, start, end, value):
if start > end:
return start

mid = int((end - start) >> 1) + start

if array[mid] == value:
return mid

elif array[mid] > value:
return self.binary_search(array, start, mid - 1, value)

else:
return self.binary_search(array, mid + 1, end, value)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: