Есть ли структура данных в C++ с O(1)
lookup?O (1) поиск в C++
A std::map
имеет O(log(n))
время поиска (справа?).
Я ищу что-то в std
предпочтительно (так что не Boost PLS). Также, если есть, как это работает?
EDIT: Хорошо, я не был достаточно ясным, я думаю. Я хочу связать ценности, вроде как в map
. Поэтому я хочу что-то вроде std::map<int,string>
, и find
и insert
следует взять O(1)
.
Все зависит от данных, особенно от типа и * возможных * значений ключа: так какие данные вы хотите сохранить? – Nawaz
Возможно, что-то похожее на связанный массив? Он имеет около O (1). Связанный массив - это связанный список массивов. –
'std :: unordered_map <>'. И причина, по которой это происходит в пространстве имен 'std', заключается в том, что она была в пространстве имен' boost' в первую очередь. – ildjarn