Fiche de révision

Recherche dichotomique dans une liste triée

La recherche d'un élément dans une liste fait partie des problèmes récurrents. Lorsque la liste est triée, la recherche dichotomique est beaucoup plus rapide que la recherche séquentielle.

I Problème posé

Nous voulons rechercher l'élément 7 dans la liste [1, 2, 5, 9, 10, 14, 17, 24, 41].

Avec une recherche séquentielle ou recherche par balayage, on parcourt la liste du début à la fin en comparant chaque valeur à l'élément recherché. Dans le pire des cas, on parcourt la liste en entier. Dans notre exemple, il faut faire 9 comparaisons.

Mot clé

Le nom dichotomie provient du grec ancien dikhotomia qui signifie « couper en deux ».

Comme la liste de départ est triée, la recherche dichotomique permet d'améliorer la performance de la recherche.

II Principe de la recherche dichotomique

Voici le principe de la recherche dichotomique avec une liste triée dans l'ordre croissant :

• Si la liste est vide : répondre négativement, la recherche est finie.

• Sinon, trouver la valeur la plus centrale de la liste et comparer cette valeur à l'élément recherché :

– si la valeur est celle cherchée : répondre positivement, la recherche est finie ;

– si la valeur est strictement plus petite que l'élément recherché, reprendre la procédure avec la seconde moitié de la liste ;

– sinon reprendre la procédure avec la première moitié de la liste.

Exemple : Recherche de l'élément 5 dans la liste triée [1, 2, 5, 9, 10, 14, 17, 24, 41] :

05230_chap07_03

Recherche de l'élément 7 dans la liste triée [1, 2, 5, 9, 10, 14, 17, 24, 41] :

05230_chap07_04

Il suffit de 4 tours de boucle pour conclure qu'un élément n'est pas dans une liste de taille 9.

III Nombre de tours de boucle maximum

Taille de la liste

0

1

2

4

8

16

32

64

128

N

Recherche séquentielle

0

1

2

4

8

16

32

64

128

N

Recherche dichotomique

0

1

2

3

4

5

6

7

8

log2N

Le nombre de tours de boucle de la recherche dichotomique est donc de l'ordre de log2(n)n est la taille de la liste.

IV Exemple de mise en œuvre

Recherche dichotomique d'un élément dans une liste triée :

PB_Bac_05230_numerique1_TT_p213-244_C07_Groupe_Schema_4

Pour lire la suite

Je m'abonne

Et j'accède à l'ensemble
des contenus du site

Commencez vos révisions !

  • Toutes les matières du programme
  • Les dernières annales corrigées et expliquées
  • Des fiches de cours et cours vidéo / audio
  • Des conseils et méthodes pour réussir ses examens
  • Pas de publicité

J'accède gratuitement à
3 contenus au choix

S'inscrire

J'accède dès 7,49€ / mois
à tous les contenus

S'abonner