Wörterbuch Implementierung (Balance Binary Suchbaum vs Hash-Tabelle)

stimmen
1

mit einem ausgewogenen binären Suchbaum, anstatt eine Hash-Tabelle unter welchen Umständen wäre es besser, einen Wörterbuch ADT zu implementieren?

Meine Vermutung war, dass es immer besser ist, einen binären Suchbaum wegen seiner natürlichen Ordnung zu verwenden.

Aber es ist wahr, dass die Suchzeit der Hash-Tabelle kann als O so gut sein (1), vs O (log n) für den binären Baum.

so bin ich nicht sicher, was die circumtaces wäre.

Veröffentlicht am 15/04/2011 um 02:13
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
0

Ihre Frage enthält bereits die Antwort:

Wenn Sie irgendeine innere Ordnung nicht dann eine Hash-Tabelle für eine bessere Leistung verwenden, erfordern. Wenn Ihre Anforderungen eine Art der Bestellung verlangen dann erwägen, einen Baum mit.

Beantwortet am 15/04/2011 um 02:16
quelle vom benutzer

stimmen
1

Hash-Tabellen kann ein Leistungsproblem haben, wenn sie gefüllt werden und müssen Speicher neu zuzuordnen (im Rahmen eines harten Echtzeitsystem) .Binary Bäume haben dieses Problem nicht. Hash-Tabellen benötigen mehr Speicher, als sie tatsächlich verwenden, wo als binäre Bäume so viel Speicher verwenden, wie sie benötigen.

Beantwortet am 15/04/2011 um 02:19
quelle vom benutzer

stimmen
0

Die Zeitkomplexität für Dictionary ist:

-----------------------------------------
| Operation   |  Dictionary |    BST    | 
-----------------------------------------
| Insert      |  O(1)       | O(log(n)) |
-----------------------------------------
| Delete      |  O(1)       | O(log(n)) |
-----------------------------------------
| Search      |  O(1)       | O(log(n)) |
-----------------------------------------

Also, wo verwenden Sie BST vs Wörterbuch? Hier sind einige der wichtigsten Vorteile von BST.

  • Mit BST haben Sie immer O (log (n)) Operation, aber eine Hash-Tabelle Ändern der Größe ist ein kostspieliger Vorgang
  • Wenn Sie Schlüssel in einer sortierten Reihenfolge bekommen möchten, können Sie sie Inorder Baum überquert bekommen. Sortierung ist nicht natürlich zu einem Wörterbuch
  • Doing Statistiken, wie das nächste untere und größeres Element zu finden, oder Bereichsabfrage.
Beantwortet am 29/01/2019 um 21:47
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more