python实现二分查找算法(折半查找算法)
'''二分查找:
前提:数组是有序的
时间复杂度:最优O(1) 最坏O(logN)
'''
def area(alist, targe):
n = len(alist)
left = 0
right = n - 1
while left <= right:
mid = (left + right) // 2
if alist[mid] > targe:
right = mid - 1
elif alist[mid] < targe:
left = mid + 1
else:
return alist.index(targe)
return False
if __name__ == '__main__':
list = [2,4,5,12,14,23]
print(area(list,23))
浙公网安备 33010602011771号