哈希表vs哈希列表vs哈希树?

时间:2010-06-04 13:34:38

标签: hashtable data-structures

什么属性使哈希表,哈希列表和哈希树彼此不同?哪一个用的时候?当桌子比树高时。

1 个答案:

答案 0 :(得分:21)

  • Hashtable :它是一种数据结构,您可以在其中插入(key,value)对,其中密钥用于计算确定存储与之关联的值的位置所需的哈希码它的关键。这种结构很有用,因为计算哈希码是O(1),所以你可以在一个恒定的时间内找到或放置一个项目。 (请注意,有一些警告和不同的实现会稍微改变这种性能)
  • Hashlist :它只是在各种数据块上计算的哈希码列表。例如:您在许多部分中拆分文件并计算每个部件的哈希码,然后将所有部件存储在列表中。然后,您可以使用该列表来验证数据的完整性。
  • Hashtree :它类似于哈希列表,但是没有哈希列表,你有一棵树,所以树中的每个节点都是一个哈希码,根据孩子计算。当然,叶子将是您开始计算哈希码的数据。

Hashtable 通常很有用(它们也称为哈希映射),而哈希列表哈希表更具体一些并且用于确切目的..