diff --git a/algorithmes/DICHOTOMIQUE.md b/algorithmes/DICHOTOMIQUE.md new file mode 100644 index 0000000..fa2ceba --- /dev/null +++ b/algorithmes/DICHOTOMIQUE.md @@ -0,0 +1,45 @@ +> 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 + +![bo_dichotomique](assets/bo_dichotomique.png) + +----------- + +### Etymologie + +Le mot dichotomie vient du grec ancien +$$ +dikhotomia +$$ +qui signifie ***couper en deux*** + +------------- + +### Problème de base + +Supposons un tableau tab : + +```python +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](PARCOURS.md) 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. + +![dichotomie](assets/dichotomie.png) + +Par Tushe2000 — Template:LoStrangolatore, Domaine public, https://commons.wikimedia.org/w/index.php?curid=39675138 \ No newline at end of file diff --git a/algorithmes/assets/dichotomie.png b/algorithmes/assets/dichotomie.png new file mode 100644 index 0000000..209824c Binary files /dev/null and b/algorithmes/assets/dichotomie.png differ