Хеш-таблица v/s карта STL в C++

Я пытаюсь изучить карты C++. Просто задавался вопросом о реализации карты STL. Я читал, это использует Дерево двоичного поиска.

  1. Существует ли реализация хеш-таблицы в STL?

  2. Как точно STL отображает пар Значения ключа хранилищ?

10
задан anon 17 March 2010 в 07:01
поделиться

3 ответа

Пары ключ-значение хранятся в std :: pair . Это шаблонная структура; элемент с именем первый хранит ключ, а элемент с именем второй сохраняет значение. Немного информации.

0
ответ дан 3 December 2019 в 23:12
поделиться
  1. Некоторые библиотеки реализуют stdext::hash_map, который имеет почти такой же интерфейс, как std::map, но использует хэш-таблицу вместо двоичного дерева.

  2. Узлы двоичного дерева располагаются в дереве в соответствии с ключом, и к каждому ключу прикреплено значение, либо целиком в том же узле, либо в виде указателя.

1
ответ дан 3 December 2019 в 23:12
поделиться

Типичные реализации STL основаны на красно-черных деревьях. C ++ TR1 предоставляет std :: tr1 :: unordered_map, который использует реализацию хеш-таблицы. Boost также предоставляет реализацию хэш-таблицы unordered_map.

В C ++ 11 теперь есть std :: unordered_map

13
ответ дан 3 December 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: