#迭代
def binary_search(alist, item):
first = 0
last = len(alist)-1
while first<=last:
mid = (first + last)/2
if alist[mid] == item:
return True
elif item < alist[mid]:
last = mid-1
else:
first = mid+1
return False
#递归
def binary_search(alist, item):
if len(alist) == 0:
return False
else:
mid = len(alist)//2
if alist[mid]==item:
return True
else:
if item<alist[mid]:
return binary_search(alist[:mid],item)
else:
return binary_search(alist[mid+1:],item)
本文深入探讨了二分查找算法的两种实现方式:迭代和递归。通过代码示例详细解释了每种方法的工作原理,帮助读者理解如何在有序列表中高效地查找特定元素。
1433

被折叠的 条评论
为什么被折叠?



