Rekurencyjne wyszukiwanie binarne w Pythonie
Mam listę z numerami od 0 do 9:
mylist = list(range(10))
Dostaję błąd z poleceniem podziału, aby go uzyskaćmid
:
def binary_search(mylist, element, low, high):
low=0
high= len(mylist)
mid=low + (high- mymin)/2
if mid==len(mylist):
return False
elif mylist[mid]==element:
return mid
elif high==low:
return False
elif mylist[mid]<element:
return binary_search(mylist, element, mymin, mid-1)
elif mylist[mid]<element:
return binary_search(mylist, element, mid+1, mymax)
else:
return mid
a jeśli chciałbym wrócićTrue
jak mógłbym to napisaćreturn binary_search(mylist, element, mymin, mid-1)
?