1.6 KiB
Après avoir vu le parcours séquentiel d'un tableau dans le but de trouver un élèment, on va pouvoir voir une méthode bien plus efficace dans le cas d'une liste triée, la recherche dichotomique.
Le programme
Etymologie
Le mot dichotomie vient du grec ancien
dikhotomia
qui signifie couper en deux
Problème de base
Supposons un tableau tab :
tab = [1,2,6,9,12,14,18,21,42]
Si on souhaite chercher un élèment, par exemple 7, en utilisant le parcours séquentiel on fonctionne par balayage (avec une boucle for...) et donc parcourir la liste du début à la fin en colparant chaque valeur à l'élèment recherché.
Ici par exemple, on effectuerait 9 comparaison pour finir par dire que non, 7 n'est pas présent.
Dans le cas d'une liste déjà triée, la recherche dichotomique permet d'améliorer les performances.
Principe
- Si le tableau est vide, on renvoie False, la recherche est terminée.
- Sinon, on trouve la valeur la plus centrale du tableau et on la compare avec l'élément recherché :
- si la valeur est celle qu'on recherche, on renvoie True, la recherche est terminée.
- si la valeur est plus petite que l'élèment recherché, on recommence la procédure avec la seconde moitié du tableau.
- si la valeur est plus grande que l'élément recherché, on recommence avec la première moitié du tableau.
Par Tushe2000 — Template:LoStrangolatore, Domaine public, https://commons.wikimedia.org/w/index.php?curid=39675138

