Python——此代码,待我揣摩揣摩
# 正常实现def BinarySearch(alist, item):
first = 0
last = len(alist)-1
found = False
while first <= last and not found:
mindpoint = (last+first)//2
if alist == item:
found = True
else:
if item < alist:
last = mindpoint - 1
else:
first = mindpoint + 1
return found
# 引用递归实现
def RBinarySearch(alist, item):
if len(alist) == 0:
return False
else:
mindpoint = len(alist)//2
if alist == item:
return True
else:
if item < alist:
return RBinarySearch(alist[:mindpoint], item)
else:
return RBinarySearch(alist, item)
testlist =
print(BinarySearch(testlist, 3))
print(RBinarySearch(testlist, 13))
页:
[1]