Wie wähle ich zwischen map und unordered_map?

Angenommen, ich wollte die Karte Daten mit einem string als Schlüssel.
Welchen container sollte ich gewählt habe, map oder unordered_map? unordered_map nimmt mehr Speicher, so nehmen wir an, Speicher ist nicht ein Problem, und das Problem ist die Geschwindigkeit.

unordered_map sollte generell Durchschnittliche Komplexität von O(1) mit dem schlechtesten Fall von O(n).
In welchen Fällen würden Sie bekommen auf O(n)?
Wann ist ein map bekommen mehr Zeit effizienter als unordered_map? Kommt es vor, wenn n klein ist?

Vorausgesetzt, ich würde verwenden, STL unordered_map mit der Standard-haser Vs. Karte. string ist der Schlüssel.

Wenn ich dabei bin, zur Iteration über die Elemente eher als Zugriff auf ein einzelnes element jeder Zeit, sollte ich lieber map?

InformationsquelleAutor der Frage StackHeapCollision | 2012-12-10

Schreibe einen Kommentar