Was sind die Vorteile von T-Bäume über B +/- Bäume?

stimmen
12

Ich habe die Definitionen von erforscht T-Bäume und B- / B + Bäume. Von Papiere im Web Ich verstehe , dass B-Bäume eine bessere Leistung in hierarchischen Speicher, wie Laufwerke und zwischengespeichert Speicher.

Was ich nicht verstehe ist, warum T-Bäume wurden / werden auch für flache Speicher verwendet?

Sie werden als platzsparende Alternative zu den AVL-Bäume ausgeschrieben.

Im schlimmsten Fall werden alle Blattknoten eines T-Baum enthalten nur ein Element und alle internen Knoten enthalten, die minimale Menge erlaubt, die fast vollständig ist. Dies bedeutet, dass im Durchschnitt nur die Hälfte des zugewiesenen Raumes genutzt wird. Wenn ich nicht irre, ist dies die gleiche Auslastung wie der schlimmste Fall von B-Bäume, wenn die Knoten eines B-Baumes sind halb voll.

Unter der Annahme, dass beide Bäume die Schlüssel speichern, lokal in den Knoten, aber die Verwendung Zeiger zu den Datensätzen zu entnehmen, ist der einzige Unterschied, dass B-Bäume haben Zeiger zu speichern, für jeden der Zweige. Dies würde in der Regel auf 50% Overhead verursacht oder weniger (über T-Bäume), abhängig von der Größe der Tasten. In der Tat ist dies auf den Overhead der Nähe in AVL-Bäumen erwartet, vorausgesetzt, keine Abstammungszeiger, eingebettet Datensätze in den Knoten, eingebettete Schlüssel in den Aufzeichnungen. Ist das der Effizienzgewinn zu erwarten, die uns von der Verwendung B-Bäume statt verhindert?

T-Bäume sind in der Regel auf den AVL-Bäume umgesetzt. AVL Bäume sind ausgeglichener als B-Bäume. Kann dies mit der Anwendung von T-Bäumen verbunden werden?

Veröffentlicht am 29/01/2011 um 15:43
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
3

Ich kann Ihnen eine persönliche Geschichte geben , die Hälfte der Antwort umfasst, das heißt, warum ich einige Pascal Code geschrieben zu programmieren B + Bäume vor einigen 18 Jahren.

mein Zielsystem ein PC mit zwei Festplatten war, hatte ich einen Index für nicht-flüchtige Speicher zu speichern, und ich wollte besser verstehen, was ich an der Universität lernte. Ich war sehr unzufrieden mit der Leistung eines kommerziellen Paket, wahrscheinlich dBase III, oder einem Fox Produkt, kann ich mich nicht erinnern.

trotzdem: ich brauchte diese Operationen:

  • Sieh nach oben
  • Einfügung
  • Streichung
  • nächstes Objekt
  • vorheriges Item

  • maximale Größe des Index war nicht bekannt,

  • so dass die Daten hatte auf der Festplatte befinden
  • jeder Zugriff auf die Unterstützung hatten hohe Kosten
  • einen ganzen Block liest das gleiche wie das Lesen eines Bytes kosten

B + -Bäume gemacht, dass kleine langsame PC die Daten wirklich fliegen durch!

die Blätter hatten zwei zusätzliche Zeiger, so dass sie gebildet Liste eine doppelt verknüpfte, für die sequentielle Suche.

Beantwortet am 11/02/2011 um 23:49
quelle vom benutzer

stimmen
2

In Wirklichkeit liegt der Unterschied in dem System, das Sie verwenden. Als mein Lehrer in der Universität ihn kommentierte: Wenn Ihr Problem liegt in Speichermangel oder in hdd Mangel wird bestimmen, welchen Baum und in dem mit der Umsetzung Sie verwenden wird. Wahrscheinlich wird es B + Baum sein.

Da gibt es Hunderte von Implementierungen, zum Beispiel mit 2direction Warteschlange und eine Richtungs Warteschlangen, wo Sie Schleife Gedanken Elemente benötigen, und es gibt auch mehrere Möglichkeiten, um den Index zu speichern und abzurufen es die wirklichen Nachteile und Minuten von der Anwendung zu bestimmen.

Beantwortet am 25/02/2011 um 09:02
quelle vom benutzer

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