二分查找针对的是一个有序的数据集合,查找思想类似分治,每次都通过跟区间的中间元素对比,将代查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。
时间复杂度:O(logn)
以下代码适用于最简单的情况,即有序数组中不存在重复元素。
非递归(循环)实现代码:
def binary_search(arr, x):low, high = 0, len(arr) - 1while low <=
二分查找针对的是一个有序的数据集合,查找思想类似分治,每次都通过跟区间的中间元素对比,将代查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。
时间复杂度:O(logn)
以下代码适用于最简单的情况,即有序数组中不存在重复元素。
非递归(循环)实现代码:
def binary_search(arr, x):low, high = 0, len(arr) - 1while low <=