Ecole Supérieure d’Economie Numérique
Complexité Algorithmique: Les algorithmes de
recherche
Dr.Chiheb-Eddine Ben N’Cir
2016 2017
Outline
1Recherche simple
2recherche par dichotomie
3Recherche par hashage
Chiheb-Eddine Ben N’Cir (ESEN) Complexité Algorithmique: les algorithmes de recherche 2016 2 / 12
Recherche simple
Algorithme de recherche simple
public boolean rechercheSimple(int v,int [] T) {
boolean trouve=false;
int i=0;
while ( ( trouve == false ) & &( i < T.length ) ) {
if ( T[i] == v ) {
trouve = true; }
else {
i = i+1; } }
return trouve;
}
3
Chiheb-Eddine Ben N’Cir (ESEN) Complexité Algorithmique: les algorithmes de recherche 2016 3 / 12
recherche par dichotomie
Algorithme de recherche par dichotomie
Comparaison de la valeur médiane du tableau et de la valeur recherchée. Trois
alternatives:
Egalité
Infériorité stricte
Supériorité stricte
Si égalité, présence de la valeur recherchée dans le tableau
Inutile de continuer à chercher
Retourner vrai
Si valeur recherchée plus petite
Poursuite de la recherche dans le 1/2 tableau inférieur selon le
même mode opératoire
Si valeur recherchée plus grande
Poursuite de la recherche dans le 1/2 tableau supérieur selon le
même mode opératoire
Quand retourner faux? –>Tableau réduit à zéro élément 4
Chiheb-Eddine Ben N’Cir (ESEN) Complexité Algorithmique: les algorithmes de recherche 2016 4 / 12
recherche par dichotomie
Recherche dichotomique
public boolean rechercheDichotomique(int v,int [] T) {
boolean stop=false;
boolean res=false;
int indd=0; int indf=T.length; int indm;
while (stop == false) {
if ( indd > indf ) {
stop = true; }
else {
indm = (indd+indf) / 2;
if ( T[indm] == v ) {
stop = true;
res = true; }
else {
if ( v < T[indm] ) {
indf = indm; }
else {
indd = indm+1; } } }
}
return res ;
}5
Chiheb-Eddine Ben N’Cir (ESEN) Complexité Algorithmique: les algorithmes de recherche 2016 5 / 12
1 / 18 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !