Chapitre 6 Les traitements avancés

publicité
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) i0
2) Répéter
ii+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_inf1,
2) b_supn,
3) trouveFAUX
4) Répéter
m(b_info+b_sup) DIV 2
Si (T[m]=v) Alors
trouveVRAI
SiNon
Si (T[m]>v) Alors
b_sup m-1
SiNon
b_inf m+1
FinSi
Finsi
Jusqu’a (trouve) OU (b_inf > b_sup)
5) recherche_dicotrouve
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.
Téléchargement