Skip to content
Snippets Groups Projects
Commit 49ffbcc8 authored by Florian Unger's avatar Florian Unger
Browse files

progress on RBT chapter

parent 9589f406
No related branches found
No related tags found
No related merge requests found
...@@ -41,8 +41,8 @@ Wir notieren RBT über einen Datentyp $D$ analog zu BST und speichern lediglich ...@@ -41,8 +41,8 @@ Wir notieren RBT über einen Datentyp $D$ analog zu BST und speichern lediglich
\end{align*} \end{align*}
Per Konvention nehmen wir an, dass der Wurzelknoten immer Schwarz ist. Per Konvention nehmen wir an, dass der Wurzelknoten immer Schwarz ist.
Wenn der kürzeste vorstellbare Pfad von der Wurzel zu einem Blatt in einem RBT-Tree durch $l$ ausschließlich durch schwarze Knoten geht, ist der längste Wenn der kürzeste vorstellbare Pfad von der Wurzel zu einem Blatt in einem RBT-Tree durch $h'$ ausschließlich durch schwarze Knoten geht, ist der längste
Pfad dann durch $2l$ Knoten, immer einen Schwarzen und einen roten. Dadurch ist gewährleistet, dass das höchste Blatt Pfad dann durch $2h'$ Knoten, immer einen Schwarzen und einen roten. Dadurch ist gewährleistet, dass das höchste Blatt
maximal halb so hoch hängt wie eins auf der untersten Ebene. maximal halb so hoch hängt wie eins auf der untersten Ebene.
Dadurch folgt: Dadurch folgt:
...@@ -52,6 +52,8 @@ Dadurch folgt: ...@@ -52,6 +52,8 @@ Dadurch folgt:
\end{lemma} \end{lemma}
Die Details des Beweises sind eine Übungsaufgabe. Die Details des Beweises sind eine Übungsaufgabe.
Umgekehrt ist die Kapazität eines RBT zwischen $2^{h'}$ und $4^{h'}$.
\subsection{Einfügen in Red-Black-Trees} \subsection{Einfügen in Red-Black-Trees}
Da RBT insbesondere Binäre Suchbäume sind, sind die Operationen zum Suchen von Elementen, dem Finden des Maximums, Da RBT insbesondere Binäre Suchbäume sind, sind die Operationen zum Suchen von Elementen, dem Finden des Maximums,
...@@ -152,8 +154,29 @@ kann: ...@@ -152,8 +154,29 @@ kann:
\label{lemma:rbt_amortisiert} \label{lemma:rbt_amortisiert}
\end{lemma} \end{lemma}
\begin{proof} \begin{proof}
Wir beobachten zuerst, dass sich bei einer Anwendung der Regel (3.5) die Kapazität des entsprechenden Teilbaums
\end{proof}<++> verdoppelt: In jeder der vier Ausgangsfälle in Abbildung \ref{fig:rbt_balance} beträgt die Kapazität maximal
$4^{h'}$, wobei $h'$ hier die Anzahl der zu durchwandernden schwarzen Knoten auf den von der Wurzel dieses Teilbaums zu
einem Blatt beschreibt.
Nach der Umstrukturierung hat jedoch jeder Teilbaum mit der Wurzel $x$ bzw $z$ die maximale Kapazität $4^{h'}$, d.h.
der Teilbaum mit $y$ als Wurzel hat $2 4^{h'}$ Kapazität.
Dadurch ergeben sich beim Einfügen die in Abbildung \ref{fig:RBT_aufwand} skizzierten Schreibaufwände - eine Umstrukturierung
in der $i.$ Ebene ist doppelt so häufig wie in der Ebene $(i-1)$.
Akkumuliert man also über $k=2^l$ mal subsequent einfügen, ergeben sich eine folgende Anzahl von Schreiboperationen:
\[
2^l + 2^{l-1} + 2^{l-2} + \dots + 2^02^{l+1} = 2*k,
\]
und damit amortisiert über $k$ Schritte $\mathcal{O}(1)$ Aufwand.
\end{proof}
\begin{figure}[h]
\centering
\input{bilder/RBT_aufwand.tex}
\label{fig:RBT_aufwand}
\end{figure}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment