2010-06-04 167 views
18

什么属性使哈希表,哈希列表和哈希树彼此不同?哪一个被使用?当表比树高。哈希表vs哈希列表与哈希树?

+1

是什么套之间的区别,列表和树?现在添加哈希。 – 2010-06-04 13:35:42

+8

我对维基百科知之甚少,为何我在这里寻找更好的答案。 – 2010-06-04 13:38:26

回答

20
  • Hashtable的:这是一个数据结构,可以在其中插入对其中的关键是用来计算是决定在何处存储与它的键关联的值需要一个哈希码(键,值) 。这种结构很有用,因为计算哈希码是O(1),所以你可以在一个固定的时间内找到或放置一个项目。 (请注意,有些警告和不同的实现稍微改变了这种性能)
  • Hashlist:它只是在各种数据块上计算的哈希码列表。例如:你在很多部分中分割一个文件,然后计算每个部分的哈希码,然后将它们全部存储在列表中。然后您可以使用该列表来验证数据的完整性。
  • Hashtree:它类似于一个hashlist但不是有你有我的树,哈希值的列表,以便在树中的每个节点是其子项上计算的哈希码。当然,叶子将是你开始计算哈希码的数据。

Hashtable的往往是有用的(他们也被称为包含HashMap),而hashlistshashtrees有些更具体,有用的确切目的..

+0

我正在尝试为我的数据挖掘项目实施Apriori算法&HashTree是用于计算生成的候选项的支持计数的良好数据结构。 有人可以指定如何实现散列树(因为我无法在网上找到hashtree的好信息)。 任何帮助将不胜感激,谢谢! – saltmotor 2012-09-27 22:24:53

+0

这里假定“散列树”是“Merkle树”的同义词。还有一个[该名称的通用数据结构](https://en.wikipedia.org/wiki/Hash_tree_%28persistent_data_structure%29)。 – 2013-05-15 11:06:58