#普通查找和查找次数:
arr = list(range(100))
def findtarget(target):
count = 0
for i in range(len(arr)):
count += 1
if arr[i]==target:
print('普通查找共查找了%s次'%count)
return i
return False
print(findtarget(55))
#二分查找和查找次数:
def binaryfound(arr,target):
count = 0
start = 0
end = len(arr)
while start <= end:
count += 1
mid = (start+end)//2
if target == arr[mid]:
print('二分查找共查找了%s次'%count)
return mid
elif target > arr[mid]:
start = mid+1
else:
end = mid-1
return False
print(binaryfound(arr,55))
#递归查找
python
def binaryfindtarget(arr,target):
if not arr:
return False
mid = len(arr)//2
if arr[mid]==target:
return True
elif arr[mid]>target:
return binaryfindtarget(arr[:mid],target)
else:
return binaryfindtarget(arr[mid+1:],target)
print(binaryfindtarget(arr,55))