Algorithmes Python

Recherche binaire en Python

La recherche binaire divise la zone restante par deux à chaque comparaison.

Qu’est-ce que Recherche binaire en Python ?

La recherche binaire divise la zone restante par deux à chaque comparaison.

Trouver rapidement une valeur dans une liste triée.

Quand l’utiliser ?

  • Comprendre les algorithmes et structures de données.
  • Observer chaque étape et traiter les cas limites.
  • Comparer temps d’exécution et mémoire.

Visualisation de Recherche binaire en Python

O(log n)

Utilisez Lecture ou Étape pour suivre chaque comparaison et déplacement de données.

Code d’exemple

Exécuter le code →
main.py
def binary_search(values, target):
    low, high = 0, len(values) - 1
    while low <= high:
        middle = (low + high) // 2
        if values[middle] == target:
            return middle
        if values[middle] < target:
            low = middle + 1
        else:
            high = middle - 1
    return -1

print(binary_search([3, 8, 12, 17, 25, 31], 17))

Résultat attendu

3

Fonctionnement

La valeur centrale détermine le côté à conserver. Temps O(log n), mais l’entrée doit être triée.

Modifiez les valeurs et exécutez le programme avec le compilateur Python en ligne CodeUtility, sans installation locale.

Exercices pratiques

Modifiez les entrées et testez les cas limites avant d’utiliser des données plus volumineuses.

  1. Testez une entrée vide, un élément et des doublons.
  2. Affichez l’état après chaque étape.
  3. Comparez les performances avec une autre solution.
Exécuter dans l’IDE Python →