Diminuer complexite pour la recherche de valeur dans un vector
Bonjour,
Voila j'ai en fait un type vector qui peut atteindre une très grande taille n.
A un moment je dois rechercher une valeur dans ce vector, et cela doit être effectue n fois.
Ce que je fais en ce moment est quelque chose de ce genre ou t est de type vector avec des doublons.
Code:
1 2 3 4 5
|
int a = 2;
for(int i = 0 ; i < n ; i++)
if(t[i] == a)
return i; |
Cette recherche de valeur a une complexité O(n) et j'aimerais la baisser au mieux a un ordre O(1). J'ai vu qu'il y avait le type map mais je ne sais pas si c'est la solution optimale.
Je souhaiterais connaitre votre avis la dessus avant de me lancer. :P
Merci !