Extrait du livre "Natoku! Algorithm" Pour mémoire
def binary_search(list, item):
low = 0 #Suivez la partie de recherche de la liste à l'aide de bas et de haut
high = len(list) - 1
while low <= high:
mid = (low + high) // 2
guess = list[mid] #Examinez l'élément au milieu
if guess == item: #Détecter l'élément
return mid #Si la réponse est correcte, mi(index)rends le
if guess > item: #Le nombre deviné était trop grand
high = mid -1
else: #Était trop petit
low = mid + 1
return None #Si vous ne le trouvez pas, aucun
my_list = [1,3,5,7,9]
print binary_search(my_list, 3) #La réponse est 3
2222222 # log2(100) = 7 log2 (100) est le nombre de fois que 2 doit être multiplié pour obtenir 100 La réponse est 7
Il s'est avéré que le nombre de recherches peut être obtenu en effectuant une conversion logarithmique.
Recommended Posts