[Algorithm] Binary Search - 二分查找

二分查找针对的是一个有序的数据集合,查找思想类似分治,每次都通过跟区间的中间元素对比,将代查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。

时间复杂度:O(logn)


以下代码适用于最简单的情况,即有序数组中不存在重复元素。

非递归(循环)实现代码:

def binary_search(arr, x):low, high = 0, len(arr) - 1while low <=