mirror of
https://gitlab.cs.fau.de/ik15ydit/latexandmore.git
synced 2024-11-22 03:49:31 +01:00
BBaum fortgestzt
This commit is contained in:
parent
e0d1b3d650
commit
7e9530364b
75
BBaum.tex
Normal file
75
BBaum.tex
Normal file
@ -0,0 +1,75 @@
|
||||
\section{BBaum}
|
||||
Idee: Zusammenfassung ganz bestimmter Sätze in einem Block.
|
||||
Mehrwegbaum: jeder Knoten entspricht einem Block.
|
||||
|
||||
\subsection{Aufbau}
|
||||
Am Anfang eines jeden Knotens steht $n$. $n$ ist Anzahl der verwendeten
|
||||
Einträge, $k \leq n \leq 2k$ (in root $ 1 \leq n \leq 2k$).
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\includegraphics[scale=1.0]{pics/bbaumknoten.png}
|
||||
\caption{BBaum Knoten}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
Danach folgen Tripel (Ki,Di,Pi) welche einen \textbf{Eintrag} bilden:
|
||||
Ki = Schlüsselwert\\
|
||||
Di = Datensatz\\
|
||||
Pi = Zeiger auf Nachfolgeknoten
|
||||
\subsection{Eigenschaften}
|
||||
\begin{itemize}
|
||||
\item jeder Pfad ist perfekt balanciert
|
||||
\item jeder Knoten mit Ausnahme von root und Blättern hat
|
||||
mindesten $k+1$ Nachfolger und höchstens $2k+1$
|
||||
\item jeder Knoten (Ausnahme root) immer mindestens halb voll
|
||||
\end{itemize}
|
||||
\subsection{Löschvorgang}
|
||||
\begin{enumerate}
|
||||
\item Suche Knoten, in dem der zu löschende Schlüssel S liegt
|
||||
\item Falls S in Blattknoten, dann lösche S und behandle ggf Unterlauf
|
||||
\item Fall S in innerem Knoten dann untersuche linken und rechten
|
||||
Unterbaum von S
|
||||
\begin{itemize}
|
||||
\item finde direkten Vorgänger $\text{S}'$ und Nachfolger $\text{S}''$
|
||||
\item Wähle dne aus der mehr Elemente hat
|
||||
\item Ersetze zu löschenden Schlüssel S durch $\text{S}'$ oder $\text{S}''$ aus gewähltem Blattknoten und behandle ggf Unterlauf
|
||||
|
||||
\end{itemize}
|
||||
\end{enumerate}
|
||||
\subsection{Unterlauf}
|
||||
\begin{itemize}
|
||||
\item Ein endgülter Unterlauf entsteht bei obigen Algorithmus erst auf Blattebene
|
||||
\item \textbf{Unterlaufbehandlung} wird durch MIschen des Unterlaufknotens mit seinem Nachbarknoten und darüber liegenden Diskriminator durchgeführt $\rightarrow$ Splitt rückwärts
|
||||
\item Unterlaufbehandlung endet in einem der Blätter!
|
||||
\end{itemize}
|
||||
\subsection{B*-Baum}
|
||||
Alle Sätze werden in den Blattknoten abgelegt. Innere Knoten enthalten nur noch Verzweigungsinformationen, keine Daten.
|
||||
Am Ende eines Knotens ist ein Zeiger auf den nächsten enthalten am Ende.
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\includegraphics[scale=1.0]{pics/bstern.png}
|
||||
\caption{B*-Baum Aufbau}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\textbf{Merke:}\\
|
||||
Beim Löschen von Werten bleibt der gleiche Diskriminator in inneren
|
||||
Knoten enthalten.
|
||||
\subsection{Vergleich}
|
||||
\begin{itemize}
|
||||
\item BBaum:
|
||||
\begin{itemize}
|
||||
\item keine Redundanz
|
||||
\item lesen von Baum Inorder nur mit Stack von Höhe h
|
||||
\item Gergingerer Verzweigungsgrad $\rightarrow$ größere Höhe
|
||||
\item einige wenige Sätze (root) mit 1 Blockzugirff
|
||||
\end{itemize}
|
||||
\item $\text{B}^*$Baum:
|
||||
\begin{itemize}
|
||||
\item Schöüsselwerte teilweise redundant
|
||||
\item Kette von Blattknoten liefert alle Sätze nach Reihenfolge sortiert
|
||||
\item hohe Verzweigung der inneren Knoten $\rightarrow$ geringe Höhe
|
||||
\item für alle Blöcke müssen h Sätze gelesen werden
|
||||
\item Schlüsselwerte der inneren Knoten müssen nicht in den
|
||||
Datensätzen vorkommen
|
||||
\end{itemize}
|
||||
\end{itemize}
|
1
IDB.tex
1
IDB.tex
@ -77,6 +77,7 @@
|
||||
\newpage
|
||||
\include{./Einfuehrung}
|
||||
\include{./Saetze}
|
||||
\include{./BBaum}
|
||||
\include{./Speicherung}
|
||||
\include{./Anfrageverarbeitung}
|
||||
\include{./Relationale_Operatoren}
|
||||
|
BIN
pics/bbaumknoten.png
Normal file
BIN
pics/bbaumknoten.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
BIN
pics/bstern.png
Normal file
BIN
pics/bstern.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in New Issue
Block a user