版权声明:转载请注明出处 https://blog.csdn.net/qq_42292831/article/details/89340007
#Dichotomy
def SearchData_Recursion(repository,data):
repository.sort()
n = len(repository)
if n<1:
return False
mid = n//2
if repository[mid]>data:
return SearchData(repository[0:mid],data)
elif repository[mid]<data:
return SearchData(repository[mid+1:],data)
else:
return True
def SearchData(repository,data):
repository.sort()
n = len(repository)
first = 0
last = n-1
while first<=last:
mid = (last+first)//2
if repository[mid]>data:
last = mid-1
elif repository[mid]<data:
first = mid+1
else:
return True
return False
if __name__ == "__main__":
repository = [1,2,3,4,5,8,4,6,2,1,4,6,3,12]
data = 12
if SearchData(repository,data):
print("PASS")
else:
print("MISS")