c++ unordered_map обработка коллизий, изменение размера и перефразировка
Это предыдущий вопрос, открытый мной, и я видел, что у меня много путаницы в том, как реализована unordered_map. Я уверен, что многие другие люди разделяют эту путаницу со мной. Основываясь на информации, которую я знаю, не читая стандарт:
Каждая реализация unordered_map хранит связанный список с внешними узлами в массиве сегментов... Нет, это совсем не самый эффективный способ реализации хэш-карты для наиболее распространенных применений. К сожалению, небольшой "недосмотр" в спецификации unordered_map почти требует такого поведения. Требуемое поведение заключается в том, что итераторы для элементов должны оставаться действительными при вставке или удалении других элементов.
Я надеялся, что кто-то может объяснить реализацию и то, как она соответствует стандартному определению c++ (с точки зрения требований к производительности), и если это действительно не самый эффективный способ реализации структуры данных хэш-карты, как ее можно улучшить?