2010-06-04 20 views
18

Welche Eigenschaft unterscheidet Hash-Tabelle, Hash-Liste und Hash-Struktur voneinander? Welcher wird wann benutzt? Wann ist Tisch höher als Baum?Hash-Tabelle vs Hash-Liste vs Hash-Baum?

+1

Was ist der Unterschied zwischen den Sätzen (sie auch Hashmaps genannt werden), Listen und Bäume? Fügen Sie jetzt Hashing hinzu. –

+8

Ich habe nicht viel von Wikipedia verstanden, deshalb suche ich hier eine bessere Antwort. –

Antwort

20
  • Hashtable: es ist eine Datenstruktur, in denen sie Paare von (Schlüssel, Wert) einführen kann, in dem der Schlüssel verwendet wird, um eine Hash-Code zu berechnen, die benötigt wird, um zu entscheiden, wo der Wert mit dem Schlüssel zugeordnet speichern . Diese Art von Struktur ist nützlich, weil die Berechnung eines Hashcodes O (1) ist, so dass Sie ein Objekt in konstanter Zeit finden oder platzieren können. (Beachten Sie, dass Vorbehalte und verschiedene Implementierungen die Leistung leicht verändern)
  • Hashlist: Es ist nur eine Liste von Hashcodes, die auf verschiedenen Datenblöcken berechnet werden. ZB: Sie teilen eine Datei in viele Teile auf und Sie berechnen einen Hashcode für jedes Teil, dann speichern Sie alle in einer Liste. Dann können Sie diese Liste verwenden, um die Integrität der Daten zu überprüfen.
  • Hashtree: Es ist ähnlich wie bei einem hashlist aber anstatt eine Liste von Hashes Haben Sie einen Baum erhalten haben, so dass jeder Knoten im Baum ist ein Hash-Code, der auf seine Kinder berechnet. Natürlich werden Blätter die Daten sein, von denen Sie anfangen, die Hashcodes zu berechnen.

Hashtable ist oft nützlich, während hashlists und hashtrees sind etwas präziser und nützlich für genaue Zwecke ..

+0

Ich versuche, Apriori-Algorithmus für mein Data Mining-Projekt zu implementieren. HashTree ist eine gute Datenstruktur für die Berechnung der Unterstützungsanzahl von generierten Kandidaten. Kann jemand spezifizieren, wie man Hash-Baum einführt (wie ich gute Informationen auf Hastree auf Netz nicht finden kann). Jede Hilfe wäre willkommen, danke! – saltmotor

+0

Dies setzt voraus, dass "Hash-Baum" ein Synonym für "Merkle-Baum" ist. Es gibt auch eine [allgemeine Datenstruktur mit diesem Namen] (https://en.wikipedia.org/wiki/Hash_tree_%28persistent_data_structure%29). –

Verwandte Themen