Разница между BST, хеширования Попыток и карта

голоса
4

Я читал некоторые блог и учебник по Попыток, хеширования, Карта (СТЛ) и BST. Я очень смущен, в которой один лучше использовать и где. Я знаю, что сделать такую ​​разницу между ними бессмысленны, потому что они все зависит от реализации. могли бы вы сказать мне более конкретно и, пожалуйста, не забыл упомянуть о сложности (худший, средний и лучший случай).

Заранее спасибо...

Задан 16/08/2011 в 10:07
источник пользователем
На других языках...                            


1 ответов

голоса
6

BST является Двоичное дерево. Он используется для словаря. BST не имеет ограничений на структуру, и , таким образом, поиск / вставка / удаление представляет собой О (п) в худшем случае.

Карта [на СТЛ] также словарь, и на самом деле красно-черное дерево [на СТЛ]. это особый вид BST, который имеет ограничения по структуре, из - за этого, худший случай поиск / вставка / удаление является O (LOGN).

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

Пытается специальные для строк. все ОПС являются О (S) , где S представляет длину строки. это преимущество на других [когда дело со строками] это вам нужно в любом случае , чтобы прочитать строку, поэтому сложность , если Map, например, при работе с строками, на самом деле O (S * п * LOGN).

когда использовать? [или любое другое сбалансированное дерево] почти всегда будет лучшим выбором , то обычный . это хороший выбор , если вы хотите , среднее короткий промежуток времени, но не все равно , что несколько раз вы будете иметь потери производительности из - за пересказ, а в некоторых случаях могут возникнуть столкновения. как правило , хороший словарь для строк.
MapBST
hash table
Trie

Ответил 17/08/2011 в 08:54
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more