dans l'algorithme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
recherche_dichotomique_récursive(élément, liste_triée):
   m = longueur de liste_triée / 2 ;
   si liste_triée[m] = élément :
       renvoyer m ;
   si liste_triée[m] > élément :
       renvoyer recherche_dichotomique_recursive(element, liste_triee[1:m]) ;
   sinon :
       renvoyer recherche_dichotomique_recursive(element, liste_triee[m:l]) ;
j'aimerai savoir comment on fait et via des vecteur.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
/**
 @brief recherche un mot dans le dictionnaire via une recherche dichotomique              
 
 @param dico (vector<string>) Vecteur qui contient le dictionnaire
 @param mot  (string)         Mot à rechercher
  
 @return retourne vrai si le mot a été trouvé autrement faux
 */
bool rechercheDichotomiqueRecursive(vector<string> dico, string mot){
 
    size_t indiceMilieu = dico.size()/2;
    if(dico.at(indiceMilieu) == mot){
        return true;
    }
    if(dico.at(indiceMilieu) > mot){
        rechercheDichotomiqueRecursive(dico,mot);
    }
    else{
        rechercheDichotomiqueRecursive(dico,mot);
    }
    return false;
}