2010-06-04 168 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