Comment choisir entre la carte et unordered_map?

Supposons que je voulais données de carte avec une chaîne comme la clé.
Ce conteneur doit, je l'ai choisi, map ou unordered_map? unordered_map prend plus de mémoire donc, supposons que la mémoire n'est pas un problème, le problème est la vitesse.

unordered_map doit généralement donner de moyenne complexité de O(1) avec le pire des cas en O(n).
Dans ce cas, serait-il arriver à O(n)?
Quand un map obtenir plus efficace que la unordered_map? T-il se passer lorsque n est petit?

En supposant que je voudrais utiliser la STL unordered_map avec la valeur par défaut haser Vs. carte. la chaîne est la clé.

Si je vais effectuer une itération sur les éléments plutôt que d'accéder à un élément particulier chaque fois, devrais-je préfère map?

  • Avez-vous besoin à des éléments de la cartographie à trier?
  • La mise en œuvre de unordered_map utilise plus de mémoire?
  • Vous avez toujours surcharge de la mémoire dans une table de hachage carte, mais il est généralement négligeable.
  • C'est un point mineur, mais comme vous le mentionnez l'itération, il est intéressant de souligner que si vous itérez lors de l'insertion d'éléments, vous devriez favoriser carte sur unordered_map.
  • Double Possible de Est-il un avantage de l'utilisation de la carte sur unordered_map en cas de trivial clés?