LINUX.ORG.RU

История изменений

Исправление bugfixer, (текущая версия) :

Обычный std::list, aka двусвязный список.

В списке могут (но не обязаны) лежать элементы bucket’ов, сами bucket’ы просто обязаны быть доступны по индексу за O(1) - в этом фундаментальный смысл любой хеш таблички.

P.S. Существует как минимум с десяток жизнеспособных путей обработки коллизий, часть из них второго контейнера элементов не предполагает вовсе. Вот здесь обсуждаются performance аспекты нескольких популярных реализаций.

Исправление bugfixer, :

Обычный std::list, aka двусвязный список.

В списке могут (но не обязаны) лежать элементы bucket’а, сам bucket просто обязан быть доступен по индексу за O(1) - в этом фундаментальный смысл любой хеш таблички.

P.S. Существует как минимум с десяток жизнеспособных путей обработки коллизий, часть из них второго контейнера элементов не предполагает вовсе. Вот здесь обсуждаются performance аспекты нескольких популярных реализаций.

Исходная версия bugfixer, :

Обычный std::list, aka двусвязный список.

В списке могут (но не обязаны) лежать элементы bucket’а, сам bucket просто обязан быть доступен по индексу за O(1) - в этом фундаментальный смысл любой хеш таблички.

P.S. Существует как минимум с десяток жизнеспособных путей обработки коллизий, часть из них второго контейнера элементов не предполагает вовсе. Вот здесь обсуждаются performance аспекты нескольких популярных реализации.