Wie std :: unordered_map implementiert ist

c++ unordered_map Kollision handling , die Größe und wiederzukäuen

Dies ist eine frühere Frage, geöffnet von mir und ich haben gesehen, dass ich haben eine Menge Verwirrung darüber, wie die unordered_map umgesetzt wird. Ich bin sicher, vielen anderen Menschen teilt, dass die Verwirrung bei mir. Auf der Grundlage der Informationen, die ich wissen, ohne das Lesen der standard:

Jeder unordered_map Implementierung speichert eine Link-Liste zu externen
Knoten in das array der buckets,... Nein, das ist überhaupt nicht die meisten
effiziente Implementierung der hash-Tabelle für die am häufigsten verwendet.
Leider eine kleine "Aufsicht" in der Spezifikation
unordered_map allem aber verlangt dieses Verhalten. Das erforderliche Verhalten ist
dass Iteratoren auf die Elemente müssen bleiben gültig, wenn Sie einfügen oder löschen
andere Elemente

Ich hatte gehofft, dass jemand vielleicht erklären, die Umsetzung und wie es entspricht dem c++ - standard-definition ( in Bezug auf die performance-Anforderungen ) und wenn es wirklich nicht der effizienteste Weg, um die Implementierung einer hash-map-Daten-Struktur, wie Sie verbessert werden kann ?

InformationsquelleAutor der Frage ralzaul | 2015-06-29

Schreibe einen Kommentar