BST является Двоичное дерево. Он используется для словаря. BST не имеет ограничений на структуру, и , таким образом, поиск / вставка / удаление представляет собой О (п) в худшем случае.
Карта [на СТЛ] также словарь, и на самом деле красно-черное дерево [на СТЛ]. это особый вид BST, который имеет ограничения по структуре, из - за этого, худший случай поиск / вставка / удаление является O (LOGN).
хеширование хэш - таблицы является другой тип словаря, преимущество хэш - таблицы [с хорошими хэш - функций] является O (1) среднее время поиска / удаления / вставки. Однако, в худшем случае это O (п), что произойдет , если слишком много элементов сталкиваются и / или когда пережевывание требуется [когда балансировки нагрузки слишком высоки, мы выделяем больший массив, и пересказывать все элементы есть].
Пытается специальные для строк. все ОПС являются О (S) , где S представляет длину строки. это преимущество на других [когда дело со строками] это вам нужно в любом случае , чтобы прочитать строку, поэтому сложность , если Map, например, при работе с строками, на самом деле O (S * п * LOGN).
когда использовать?
[или любое другое сбалансированное дерево] почти всегда будет лучшим выбором , то обычный .
это хороший выбор , если вы хотите , среднее короткий промежуток времени, но не все равно , что несколько раз вы будете иметь потери производительности из - за пересказ, а в некоторых случаях могут возникнуть столкновения.
как правило , хороший словарь для строк.
MapBST
hash table
Trie