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.

Jusqu’à 10 entiers, séparés par des virgules ou des espaces. Les doublons et la liste vide sont autorisés.

Essayer :

Intervalle initial

milieu examiné cases éliminées valeur trouvée