Ein weiterer Unterschied zwischen dem B-Baum und dem Binärbaum besteht darin, dass der B-Baum alle untergeordneten Knoten auf derselben Ebene haben muss, während der Binärbaum keine solche Einschränkung hat. Ein binärer Baum kann maximal 2 Teilbäume oder Knoten haben, wohingegen im B-Baum M keine Teilbäume oder Knoten enthalten können, wobei M die Reihenfolge des B-Baums ist.
Vergleichstabelle
Basis zum Vergleich | B-Baum | Binärer Baum |
---|---|---|
Wesentliche Einschränkung | Ein Knoten kann maximal M Anzahl von Kindknoten haben (wobei M die Reihenfolge der Baumstruktur ist). | Ein Knoten kann maximal 2 Teilbäume haben. |
Gebraucht | Wird verwendet, wenn Daten auf der Festplatte gespeichert sind. | Es wird verwendet, wenn Datensätze und Daten im RAM gespeichert werden. |
Höhe des Baumes | log M N (wobei m die Reihenfolge des M-Wegebaums ist) | log 2 N |
Anwendung | Datenstruktur der Codeindizierung in vielen DBMS. | Code-Optimierung, Huffman-Codierung usw. |
Definition von B-Baum
Ein B-Baum ist der ausgeglichene M-Wegebaum und auch als ausgeglichener Sortierbaum bekannt. Es ist dem binären Suchbaum ähnlich, in dem die Knoten auf der Grundlage der Inorder-Traversierung organisiert sind. Die Raumkomplexität des B-Baums ist O (n). Die Einfügungs- und Löschzeitkomplexität ist O (log n).
Für einen B-Baum müssen bestimmte Bedingungen erfüllt sein:
- Die Baumhöhe muss so gering wie möglich sein.
- Über den Blättern des Baumes sollten sich keine leeren Unterbäume befinden.
- Die Blätter des Baumes müssen auf gleicher Höhe sein.
- Alle Knoten sollten die geringste Anzahl von Kindern haben, mit Ausnahme von Verlassenknoten.
Eigenschaften des B-Baums der Ordnung M
- Jeder Knoten kann eine maximale Anzahl von M-Kindern und eine minimale Anzahl von M / 2-Kindern oder eine beliebige Anzahl von 2 bis maximal haben.
- Jeder Knoten hat einen Schlüssel weniger als Kinder mit maximal M-1 Schlüsseln.
- Die Anordnung der Schlüssel erfolgt in einer bestimmten Reihenfolge innerhalb der Knoten. Alle Schlüssel im Teilbaum auf der linken Seite des Schlüssels sind Vorgänger des Schlüssels, und die auf der rechten Seite des Schlüssels vorhandenen werden Nachfolger genannt.
- Beim Einfügen eines vollständigen Knotens teilt sich der Baum in zwei Teile, und der Schlüssel mit dem mittleren Wert wird am übergeordneten Knoten eingefügt.
- Der Zusammenführungsvorgang findet statt, wenn die Knoten gelöscht werden.
Definition von binärer Baum
Ein binärer Baum ist eine Baumstruktur, die höchstens zwei Zeiger für ihre untergeordneten Knoten haben kann. Dies bedeutet, dass der höchste Grad, den ein Knoten haben kann, 2 ist, und es könnte auch einen Knoten von null oder einem Grad geben.
Es gibt bestimmte Varianten eines Binärbaums, wie z. B. streng Binärbaum, vollständiger Binärbaum, erweiterter Binärbaum usw.
- Der streng binäre Baum ist ein Baum, in dem jeder Nichtterminalknoten den Unterbaum und den rechten Unterbaum verlassen haben muss.
- Ein Baum wird als vollständiger binärer Baum bezeichnet, wenn er die Bedingung erfüllt, 2 i Knoten auf jeder Ebene zu haben, auf der i die Ebene ist.
- Threaded binary ist ein binärer Baum, der entweder aus 0 Knoten oder 2 Knoten besteht.
Traversaltechniken
Die Baumdurchquerung ist eine der häufigsten Operationen, die für eine Baumdatenstruktur ausgeführt werden, bei der jeder Knoten systematisch genau einmal besucht wurde.
- Inorder- In diesem Baumdurchlauf wird der linke Teilbaum rekursiv besucht, dann der Wurzelknoten und der letzte rechte Teilbaum besucht.
- Preorer- In diesem Baumdurchlauf wird zuerst der Wurzelknoten besucht, dann der linke Teilbaum und zuletzt der rechte Teilbaum.
- Postorder - Diese Technik besucht den linken Teilbaum, dann den rechten Teilbaum und zuletzt den Wurzelknoten.
Hauptunterschiede zwischen B-Baum und Binärbaum
- Im B-Baum kann ein Knoten, der kein Terminal ist, die maximale Anzahl von Kindknoten haben, wobei M die Reihenfolge des B-Baums ist. Andererseits kann ein binärer Baum höchstens zwei Teilbäume oder untergeordnete Knoten haben.
- Der B-Baum wird verwendet, wenn Daten auf der Festplatte gespeichert werden, während der Binärbaum verwendet wird, wenn die Daten in einem schnellen Speicher wie dem RAM gespeichert werden.
- Ein weiteres Anwendungsgebiet für B-Tree ist die Code-Indexierungsdatenstruktur in DBMS, im Gegensatz dazu wird der Binary-Tree bei der Code-Optimierung, der Huffman-Codierung usw. verwendet.
- Die maximale Höhe eines B-Baums ist log M N (M ist die Reihenfolge des Baums). Im Gegensatz dazu ist die maximale Höhe des binären Baums log 2 N (N ist die Anzahl der Knoten und die Basis ist 2, da sie für binär ist).
Fazit
Der B-Baum wird für den binären und binären Suchbaum verwendet. Der Hauptgrund dafür ist die Speicherhierarchie, bei der die CPU mit den Kanälen mit hoher Bandbreite zwischengespeichert wird, während die CPU über einen Kanal mit niedriger Bandbreite mit der Festplatte verbunden ist. Ein binärer Baum wird verwendet, wenn Datensätze im RAM gespeichert werden (klein und schnell), und der B-Baum wird verwendet, wenn Datensätze auf der Festplatte gespeichert werden (groß und langsam). Durch die Verwendung von B-Tree anstelle von Binary Tree wird die Zugriffszeit aufgrund des hohen Verzweigungsfaktors und der reduzierten Höhe des Tree erheblich reduziert.