Algorithmes Python

Recherche linéaire en Python

La recherche linéaire fonctionne sur des données non triées.

Qu’est-ce que la recherche linéaire ?

La recherche linéaire examine chaque élément depuis le début jusqu’à trouver la cible ou atteindre la fin. Les données n’ont pas besoin d’être triées.

Fonctionnement de l’algorithme

  1. Commencer à l’indice 0.
  2. Comparer l’élément courant à la cible.
  3. Renvoyer son indice en cas d’égalité, sinon continuer.
  4. Renvoyer -1 après le dernier élément si la cible est absente.
Complexité : O(n) en temps dans les cas moyen et défavorable, avec O(1) d’espace supplémentaire.

Visualisation de Recherche linéaire en Python

O(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 linear_search(values, target):
    for index, value in enumerate(values):
        if value == target:
            return index
    return -1

print(linear_search([14, 3, 27, 8, 19], 8))

Résultat attendu

3

Fonctionnement

Chaque valeur est comparée une fois au maximum : temps O(n), mémoire O(1).

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 →