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

Pas*_*mer 19 hashtable data-structures

什么属性使哈希表,哈希列表和哈希树彼此不同?哪一个用的时候?桌子何时优于树.

Jac*_*ack 22

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

Hashtable通常很有用(它们也称为哈希映射),而哈希表哈希对于确切的目的而言更具体和有用.

  • 假设“哈希树”是“默克尔树”的同义词。还有一个[具有该名称的通用数据结构](https://en.wikipedia.org/wiki/Hash_tree_%28persistent_data_structure%29)。 (2认同)