def search(li, item):
n = len(li)
if n == 0:
return False
# 记录中间位置
mid = n//2
# 比较中间位置和要找的数据
if item == li[mid]:
return True
elif item > li[mid]: # 正序 往右找
return search(li[mid+1:], item)
else:
return search(li[:mid], item)
if __name__ == '__main__':
l = [1,2,3,4,5,6]
print(search(l, 1))
print(search(l, 3))
print(search(l, 6))
print(search(l, 8))
# 时间复杂度:O(logn)
网友评论