Balancierter Suchbaum

Balancierter Suchbaum

Ein Balancierter Baum ist in der Informatik ein Spezialfall der Datenstruktur Baum, der eine maximale Höhe von c\cdot\log(n) garantiert, wobei n die Anzahl der Elemente im Baum angibt und c eine von n unabhängige Konstante ist.

Inhaltsverzeichnis

Problem: Entartung

Die wichtigste Anwendung von Bäumen in der Informatik ist die als Suchbaum. Die Laufzeit der wichtigsten Operationen in einem Suchbaum (Einfügen, Suchen oder Löschen eines Wertes) hängt im schlechtesten Fall linear von der Höhe des Baumes ab (die Operationen haben eine Komplexität von O(h); h Höhe des Baumes).

Jeder k-näre Baum mit n Knoten hat eine Höhe von h\geq\log_k (n+1); und im Durchschnitt immer noch c\cdot\log_k\ n für ein gewisses konstantes c. So sind auch die Operationen auf einem Baum mindestens der Komplexität O(logkn) = O(logn).

Beispiel für nicht balancierten Baum

Fügt man jedoch zum Beispiel einem Suchbaum eine große Menge bereits sortierter Daten ein, wächst dieser ungleichmäßig und hat im Extremfall eine Höhe von n mit der unerwünschten Folge, dass auch jede folgende Einfüge-, Such- und Löschoperation der Komplexität O(n) ist.

Ein zu einer Liste entarteter Suchbaum

Siehe auch: O-Notation, Komplexität, Erwartungswert

Gegenstrategie: Balance halten

Balancierte Bäume wurden entwickelt, um die Entartung zu verhindern und eine Höhe von c\cdot\log(n) zu garantieren.

Dazu verfolgt man unterschiedliche Konzepte. Allen gemeinsam ist: Man fordert spezielle Eigenschaften des Baumes,

  • aus denen folgt, dass die Höhe des Baumes in jedem Fall c\cdot\log(n) ist.
  • sodass es geeignete Einfüge-, Such- und Löschoperationen (sinnvollerweise der Komplexität O(h)) gibt, die die speziellen Eigenschaften wahren.

Man erhält eine solche Operation, indem man die Operation der allgemeinen Suchbäume verwendet und nach jeder Ausführung den Baum an der Stelle der Änderung neu balanciert.

Höhenbalance

Nach der Höhe balancierte Bäume stellen für jeden Knoten sicher, dass die Höhe des linken Unterbaumes und die Höhe des rechten Unterbaumes nur um ein bestimmtes Verhältnis oder eine bestimmte Differenz voneinander abweichen.

Beim Rot-Schwarz-Baum wird jedem Knoten eine Farbe (rot oder schwarz) zugeordnet; der Baum ist bezüglich der schwarzen Knoten optimal höhenbalanciert und der Anteil der roten Knoten ist begrenzt. Diese Bäume stellen eine binäre Realisierung der 2-3-4-Bäume dar, einer speziellen Variante der B-Bäume.

Im AVL-Baum gilt für jeden Knoten: Die Höhe seines linken Kindes weicht von der seines rechten Kindes um höchstens ±1 ab.

Gewichtsbalance

In einem gewichtsbalancierten Baum (BB-Baum) gilt für jeden Knoten: Die Anzahl der Knoten (das Gewicht) links unter ihm steht in einem gewissen Verhältnis zu der Gesamtanzahl der Knoten unter ihm (und damit auch in einem gewissen Verhältnis zu der Anzahl der Knoten rechts unter ihm).


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Balancierter Baum — Ein Balancierter Baum ist in der Informatik ein Spezialfall der Datenstruktur Baum, der eine maximale Höhe von garantiert, wobei n die Anzahl der Elemente im Baum angibt und c eine von n unabhängige Konstante ist. Manche Autoren rechnen auch… …   Deutsch Wikipedia

  • Binärer Suchbaum — der Höhe 5 mit 13 Knoten: Wurzel J und Blättern C, G, N, Q, U und X In der Informatik ist ein binärer Suchbaum eine spezielle Implementierung der abstrakten Datenstruktur Suchbaum. Ein binärer Suchbaum, häufig abgekürzt als BST (von englisch …   Deutsch Wikipedia

  • K-d-Baum — Ein k dimensionaler Baum oder k d Baum ist ein balancierter Suchbaum zur Speicherung von Punkten aus dem . Er bietet ähnlich dem Bereichsbaum die Möglichkeit, orthogonale Bereichsanfragen durchzuführen. Die Anfragekomplexität ist zwar höher,… …   Deutsch Wikipedia

  • Kd-Baum — Ein k dimensionaler Baum oder k d Baum ist ein balancierter Suchbaum zur Speicherung von Punkten aus dem . Er bietet ähnlich dem Bereichsbaum die Möglichkeit, orthogonale Bereichsanfragen durchzuführen. Die Anfragekomplexität ist zwar höher,… …   Deutsch Wikipedia

  • Kd-Tree — Ein k dimensionaler Baum oder k d Baum ist ein balancierter Suchbaum zur Speicherung von Punkten aus dem . Er bietet ähnlich dem Bereichsbaum die Möglichkeit, orthogonale Bereichsanfragen durchzuführen. Die Anfragekomplexität ist zwar höher,… …   Deutsch Wikipedia

  • k-d-Baum — Ein k dimensionaler Baum oder k d Baum ist ein un balancierter Suchbaum zur Speicherung von Punkten aus dem . Er bietet ähnlich dem Bereichsbaum die Möglichkeit, orthogonale Bereichsanfragen durchzuführen. Die Anfragekomplexität ist zwar höher,… …   Deutsch Wikipedia

  • Binärbaum — mit Knotentypen Als Binärbaum bezeichnet man in der Graphentheorie eine spezielle Form eines Graphen. Genauer gesagt handelt es sich um einen Wurzelbaum (gewurzelten Baum), bei dem jeder Knoten höchstens zwei Kindknoten besitzt. Meist wird… …   Deutsch Wikipedia

  • Red-black-tree — Ein Rot Schwarz Baum ist in der Informatik eine vom binären Suchbaum abgeleitete Datenstruktur, die sehr schnellen Zugriff auf die in ihr gespeicherten Werte garantiert. Rot Schwarz Bäume wurden zuerst 1972 von Rudolf Bayer beschrieben[1],… …   Deutsch Wikipedia

  • Schwarz-Rot-Baum — Ein Rot Schwarz Baum ist in der Informatik eine vom binären Suchbaum abgeleitete Datenstruktur, die sehr schnellen Zugriff auf die in ihr gespeicherten Werte garantiert. Rot Schwarz Bäume wurden zuerst 1972 von Rudolf Bayer beschrieben[1],… …   Deutsch Wikipedia

  • Doppelrotation — Ein AVL Baum mit Balance Angaben Ein AVL Baum ist eine Datenstruktur in der Informatik, genauer ein balancierter binärer Suchbaum. Als Invariante beim AVL Baum gilt, dass sich für jeden Knoten k die Höhen h1 und h2 der bei …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”