Laboratoire visuel : recherche dichotomique
Dans une liste triée par ordre croissant, cherchez une valeur en réduisant à chaque étape l’intervalle où elle peut se trouver.
def recherche_dichotomique(L, x):
d = 0
f = len(L) - 1
while d <= f:
m = (d + f) // 2
if L[m] == x:
return m
if L[m] < x:
d = m + 1
else:
f = m - 1
return -1
La liste doit être triée par ordre croissant. Suivez les bornes d et f et le milieu m : chaque comparaison permet de trouver x ou d’éliminer une partie de l’intervalle.
Intervalle initial
milieu examiné cases éliminées valeur trouvée