Я пытаюсь решить, какую структуру данных использовать для хранения пар ключ-значение, когда необходимы только функции
В частности, мне не нужно иметь возможность удалять пары или перебирать ключи / значения / пары.
Ключи - это целочисленные кортежи, значения - указатели (ссылки, что угодно). Я храню только пару миллионов пар, разбросанных по (многим) объектам.
В настоящее время я рассматриваю возможность использования
- хеш-таблица
- кд-дерево
- б-дерево
Я склоняюсь к хеш-таблице (на время вставки / поиска O(1)
), но я хотел подтвердить свои склонности.
Какую структуру (из вышеперечисленных или другую) вы бы порекомендовали и почему? Если вы порекомендуете хеш-таблицу, мне следует создать отдельную таблицу для каждого объекта или просто создать одну таблицу и использовать идентификатор объекта в качестве части кортежа ключей?