今天爱分享给大家带来python实现二分查找【面试题详解】【附代码】,希望能够帮助到大家。
def binary_chop(alist, data):
"""
非递归解决二分查找
"""
n = len(alist)
first = 0
last = n - 1
while first <= last:
mid = (last+first)//2
if alist[mid] > data:
last = mid - 1
elif alist[mid] < data:
first = mid + 1
else:
return True
return False
def binary_chop2(alist, data):
"""
递归解决二分查找
"""
n = len(alist)
if n < 1:
return False
mid = n // 2
if alist[mid] > data:
return binary_chop2(alist[0:mid], data)
elif alist[mid] < data:
return binary_chop2(alist[mid+1:], data)
else:
return True
if __name__ == "__main__":
lis = [2,4, 5, 12, 14, 23]
if binary_chop(lis, 12):
print('ok')
else:
print('false')
原文链接:https://blog.itblood.com/4573.html,转载请注明出处。

![用洗脑APP肆意玩弄狂妄大小姐2 V0.1.0 官方中文DEMO版[电脑/2.6G]用洗脑APP肆意玩弄狂妄大小姐2 V0.1.0 官方中文DEMO版(洗脳アプリで清楚なお嬢様をドスケベ調教するシミュレーション) [互动SLG/中文/动态]](/wp-content/uploads/replace/2025/07/19/841069d53c0a50d4bd0d9c7e0518fdac.webp)