La recherche binaire est une méthode rapide pour trouver une cible dans une liste triée. On examine l’élément du milieu, on élimine la moitié des valeurs restantes, puis on recommence. Si la liste n’est pas ordonnée, cette logique ne tient plus.
Dans une liste triée par ordre croissant, la règle est simple : si la valeur du milieu est plus petite que la cible, on cherche à droite ; si elle est plus grande, on cherche à gauche. Comme l’intervalle est réduit d’environ moitié à chaque étape, la recherche binaire s’exécute en temps .
Comment fonctionne la recherche binaire sur une liste triée
Utilisez cette liste triée :
Supposons que la cible soit .
Commencez avec l’intervalle complet. La valeur du milieu est . Comme , tout ce qui se trouve à gauche de peut être écarté, donc la recherche continue dans
Maintenant, la valeur du milieu est . Comme , tout ce qui se trouve à droite de peut être écarté, donc l’intervalle devient
Maintenant, la valeur du milieu est , donc la recherche s’arrête. L’idée utile n’est pas seulement que la cible a été trouvée. En deux comparaisons, l’intervalle candidat est passé de valeurs à .
Pourquoi la recherche binaire est en
Chaque comparaison élimine environ la moitié des candidats restants. Après une étape, il reste environ éléments. Après deux étapes, il en reste environ . Après étapes, la taille restante est d’environ
La recherche se termine lorsque cette quantité vaut environ , donc le nombre d’étapes vérifie
En prenant le des deux côtés, on obtient
C’est pourquoi la recherche binaire passe bien à l’échelle. Une recherche linéaire peut nécessiter jusqu’à vérifications, mais la recherche binaire n’a besoin que d’assez de vérifications pour continuer à diviser l’intervalle par deux.
Exemple de code de recherche binaire
Voici une version itérative standard en Python :
Besoin d'aide pour un problème ?
Envoyez votre question et obtenez une solution vérifiée, étape par étape, en quelques secondes.
Ouvrir GPAI Solver →