Хеш-таблица по сравнению с Хэш-списком по сравнению с Хэш-деревом?

Какое свойство делает Хеш-таблицу, Хэш-список и Хэш-дерево отличающимися друг от друга? Какой используется когда? Когда таблица, выше, чем дерево.

19
задан Passionate programmer 8 June 2010 в 09:07
поделиться

1 ответ

  • Hashtable: это структура данных, в которую можно вставлять пары (ключ, значение), в которых ключ используется для вычисления хэш-кода, необходимого для решения, где хранить значение, связанное с ключом. Этот вид структуры полезен тем, что вычисление хэш-кода имеет размерность O(1), поэтому вы можете найти или разместить элемент за постоянное время. (Следует помнить, что существуют оговорки и различные реализации, которые несколько изменяют эту производительность)
  • Хэш-лист: это просто список хэш-кодов, вычисленных для различных фрагментов данных. Например: вы разбиваете файл на множество частей и вычисляете хэш-код для каждой части, а затем сохраняете их все в списке. Затем вы можете использовать этот список для проверки целостности данных.
  • Hashtree: это похоже на hashlist, но вместо списка хэшей у вас есть дерево, поэтому каждый узел в дереве - это хэш-код, который вычисляется на его дочерних элементах. Конечно, листья будут данными, на основе которых вы начинаете вычислять хэш-коды.

Hashtable часто полезны (их также называют hashmaps), в то время как hashlists и hashtrees несколько более специфичны и полезны для точных целей...

22
ответ дан 30 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

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