Sobes.tech
Junior — Middle

Dans quelles situations est-il préférable d'utiliser le conteneur std::unordered_map?

sobes.tech IA

Réponse de l'IA

std::unordered_map est préférable à utiliser lorsque la vitesse d'accès aux éléments par clé est importante et que l'ordre des éléments n'a pas d'importance. C'est une table de hachage qui offre un temps d'accès amorti de O(1) en moyenne, contrairement à std::map, qui est implémenté comme un arbre équilibré et offre un accès en O(log n).

Situations pour utiliser std::unordered_map :

  • Lorsque vous avez besoin de rechercher, insérer ou supprimer rapidement des éléments par clé.
  • Lorsque l'ordre des éléments n'est pas important.
  • Lorsque les clés ont une bonne fonction de hachage minimisant les collisions.

Exemple d'utilisation :

#include <unordered_map>
#include <string>
#include <iostream>

int main() {
    std::unordered_map<std::string, int> wordCount;
    wordCount["apple"] = 3;
    wordCount["banana"] = 2;

    std::cout << "apple: " << wordCount["apple"] << std::endl;
    return 0;
}