\documentclass{bschlangaul-aufgabe}
\bLadePakete{baum}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 3},
  Thematik = {Aussage widerlegen},
  Referenz = 46115-2019-F.T2-A3,
  RelativerPfad = Examen/46115/2019/03/Thema-2/Aufgabe-3.tex,
  ZitatSchluessel = examen:46115:2019:03,
  BearbeitungsStand = mit Lösung,
  Korrektheit = korrekt und überprüft,
  Ueberprueft = {mit den Online-Tool VisuAlgo \url{https://visualgo.net/en/bst}},
  Stichwoerter = {AVL-Baum},
  EinzelpruefungsNr = 46115,
  Jahr = 2019,
  Monat = 03,
  ThemaNr = 2,
  AufgabeNr = 3,
}
\begin{enumerate}

%%
% (a)
%%

\item Zeigen oder widerlegen Sie die folgende Aussage: Wird ein Element
in einen AVL-Baum eingefügt und unmittelbar danach wieder gelöscht, so
befindet sich der AVL-Baum wieder in seinem
Ursprungszustand.\index{AVL-Baum}
\footcite{examen:46115:2019:03}

\begin{bAntwort}
Die Aussage ist falsch. Wir widerlegen die Aussage durch ein konkretes
Beispiel:

\begin{bBaum}{Unser Ausgangs-AVL-Baum}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=+1]{1};
  \edge[blank]; \node[blank]{};
  [.\node[label=0]{2}; ]
]
\end{tikzpicture}
\end{bBaum}

\begin{bBaum}{Nach dem Einfügen von „3“}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=0]{2};
  [.\node[label=0]{1}; ]
  [.\node[label=0]{3}; ]
]
\end{tikzpicture}
\end{bBaum}

\begin{bBaum}{Nach dem Löschen von „3“}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=-1]{2};
  [.\node[label=0]{1}; ]
  \edge[blank]; \node[blank]{};
]
\end{tikzpicture}
\end{bBaum}

\end{bAntwort}

%%
% (b)
%%

\item Fügen Sie in den gegebenen Baum den Schlüssel $11$ ein.

\begin{center}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=+1]{10};
  [.\node[label=0]{5}; ]
  [.\node[label=-1]{15};
    [.\node[label=0]{12}; ]
    \edge[blank]; \node[blank]{};
  ]
]
\end{tikzpicture}
\end{center}

Rebalancieren Sie anschließend den Baum so, dass die AVL-Eigenschaft
wieder erreicht wird. Zeichnen Sie den Baum nach jeder Einfach- und
Doppelrotation und benennen Sie die Art der Rotation (Links-, Rechts-,
Links-Rechts-, oder Rechts-Links-Rotation). Argumentieren Sie jeweils
über die Höhenbalancen der Teilbäume.

Tipp: Zeichnen Sie nach jedem Schritt die Höhenbalancen in den Baum ein.

%  bschlangaul-werkzeug.java baum --avl 10 5 15 12 11 -v -t
\begin{bAntwort}
\begin{bBaum}{Nach dem Einfügen von „11“}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=+2]{10};
  [.\node[label=0]{5}; ]
  [.\node[label=-2]{15};
    [.\node[label=-1]{12};
      [.\node[label=0]{11}; ]
      \edge[blank]; \node[blank]{};
    ]
    \edge[blank]; \node[blank]{};
  ]
]
\end{tikzpicture}
\end{bBaum}

\begin{bBaum}{Nach der Rechtsrotation}
\begin{tikzpicture}[b binaer baum]
\Tree
[.\node[label=+1]{10};
  [.\node[label=0]{5}; ]
  [.\node[label=0]{12};
    [.\node[label=0]{11}; ]
    [.\node[label=0]{15}; ]
  ]
]
\end{tikzpicture}
\end{bBaum}
\end{bAntwort}
\end{enumerate}
\end{document}
