二分查找(Binary Search)

来源:互联网 发布:linux 删除组成员 编辑:程序博客网 时间:2024/04/24 22:34

好多算法题都需要用到二分查找,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)

0 0
原创粉丝点击