Prendre une partie d'un vecteur
dans l'algorithme suivant :
Code:
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:
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;
} |