\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}
