Chapitre 6 Les traitements avancés Leçon2 Algorithmes de recherche d'un élément dans un tableau
Objectifs spécifiques Connaître les différentes méthodes de recherches. Savoir choisir la méthode de recherche la plus adaptée au problème traité. I-Recherche séquentielle II-La recherche dichotomique
I-La recherche séquentielle 1-Définition La méthode de recherche séquentielle d'un élément dans un tableau consiste à par- courir le tableau élément par élément en les comparant avec l'élément à chercher jusqu'à trouver ce dernier ou achever le tableau.
2- Algorithme de la fonction Recherche séquentielle 0) DEF FN recherches_séq (T:TAB,n: entier,v:entier): Booléen 1) i0 2) Répéter ii+1 Jusqu’a (T[i]=v) ou (i=n) 3) Si (T[i]=v) alors recherches_séq VRAI Sinon recherches_séq FAUX 4) Fin recherches_séq
II-La recherche dichotomique 1-Définition En algorithmique, la dichotomie (du grec « couper en deux ») est un processus itératif ou récursif de recherche où à chaque étape l'espace de recherche est restreint à l'une de deux parties. On suppose bien sûr qu'il existe un test relativement simple permettant à chaque étape de déterminer l'une des deux parties dans laquelle peut se trouver l'élément. L'algorithme s'applique typiquement à la recherche d'un élément dans un ensemble fini ordonné. La dichotomie peut être vue comme une variante simplifiée de la stratégie plus géné- rale diviser pour régner .
Remarque: La recherche dichotomique s'applique sur un tableau trie.
Algorithme de la fonction recherche_dicho 0) DEF FN recherche_dicho (T:TAB,n: entier,v:entier): Booléen 1) b_inf1, 2) b_supn, 3) trouveFAUX 4) Répéter m(b_info+b_sup) DIV 2 Si (T[m]=v) Alors trouveVRAI SiNon Si (T[m]>v) Alors b_sup m-1 b_inf m+1 FinSi Finsi Jusqu’a (trouve) OU (b_inf > b_sup) 5) recherche_dicotrouve 6) Fin recherche_dicho
Retenons La méthode de la recherche séquentielle consiste à parcourir le tableau progressivement du début vers la fin en les comparant avec l'élément à chercher jusqu'à trouver ce dernier ou achever le tableau. L'algorithme de recherche séquentielle n'utilise comme information que le test d'égalité sur les éléments, avec deux résultats possibles : égalité ou non égalité. La méthode de la recherche dichotomique consiste à chercher un élément dans le cas d'un tableau trié. On compare l'élément à chercher à l'élément central du tableau, s'ils sont différents, un test permet de trouver dans quelle moitié du tableau on peut trouver l'élément. On continue ce processus jusqu'à trouver l'élément ou bien on arrive à un sous-tableau de taille 1.