\documentclass{bschlangaul-aufgabe} \bLadePakete{baum} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 7}, Thematik = {AVL-Baum 10,5,25,14 erweitern und Knoten entfernen}, Referenz = 66115-2019-H.T2-A7, RelativerPfad = Examen/66115/2019/09/Thema-2/Aufgabe-7.tex, ZitatSchluessel = examen:66115:2019:09, BearbeitungsStand = mit Lösung, Korrektheit = korrekt und überprüft, Ueberprueft = {https://visualgo.net/en/bst}, Stichwoerter = {AVL-Baum}, EinzelpruefungsNr = 66115, Jahr = 2019, Monat = 09, ThemaNr = 2, AufgabeNr = 7, } % bschlangaul-werkzeug.java baum --avl 10 5 25 14 20 31 2 17 7 lösche 14 25 % 10, 5, 25, 14, 20, 31, 2, 17, 7 Fügen Sie (manuell) nacheinander die Zahlen $20, 31, 2, 17, 7$ in folgenden AVL-Baum ein. Löschen Sie anschließend aus dem entstandenen Baum nacheinander $14$ und $25$.\index{AVL-Baum} \footcite{examen:66115:2019:09} \begin{center} \begin{tikzpicture}[b binaer baum] \Tree [.\node{10}; [.\node{5}; ] [.\node{25}; [.\node{14}; ] \edge[blank]; \node[blank]{}; ] ] \end{tikzpicture} \end{center} \noindent Zeichnen Sie jeweils direkt nach jeder einzelnen Operation zum Einfügen oder Löschen eines Knotens, sowie nach jeder elementaren Rotation den entstehenden Baum. Insbesondere sind evtl. anfallende Doppelrotationen in zwei Schritten darzustellen. Geben Sie zudem an jedem Knoten die Balancewerte an. \begin{bAntwort} \begin{bBaum}{Nach dem Einfügen von „20“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=+2]{10}; [.\node[label=0]{5}; ] [.\node[label=-2]{25}; [.\node[label=+1]{14}; \edge[blank]; \node[blank]{}; [.\node[label=0]{20}; ] ] \edge[blank]; \node[blank]{}; ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach der Linksrotation} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=+2]{10}; [.\node[label=0]{5}; ] [.\node[label=-2]{25}; [.\node[label=-1]{20}; [.\node[label=0]{14}; ] \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]{20}; [.\node[label=0]{14}; ] [.\node[label=0]{25}; ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach dem Einfügen von „31“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=+2]{10}; [.\node[label=0]{5}; ] [.\node[label=+1]{20}; [.\node[label=0]{14}; ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach der Linksrotation} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=0]{20}; [.\node[label=0]{10}; [.\node[label=0]{5}; ] [.\node[label=0]{14}; ] ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach dem Einfügen von „2“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=-1]{20}; [.\node[label=-1]{10}; [.\node[label=-1]{5}; [.\node[label=0]{2}; ] \edge[blank]; \node[blank]{}; ] [.\node[label=0]{14}; ] ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach dem Einfügen von „17“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=-1]{20}; [.\node[label=0]{10}; [.\node[label=-1]{5}; [.\node[label=0]{2}; ] \edge[blank]; \node[blank]{}; ] [.\node[label=+1]{14}; \edge[blank]; \node[blank]{}; [.\node[label=0]{17}; ] ] ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach dem Einfügen von „7“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=-1]{20}; [.\node[label=0]{10}; [.\node[label=0]{5}; [.\node[label=0]{2}; ] [.\node[label=0]{7}; ] ] [.\node[label=+1]{14}; \edge[blank]; \node[blank]{}; [.\node[label=0]{17}; ] ] ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \bPseudoUeberschrift{Löschen} \begin{bBaum}{Nach dem Löschen von „14“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=-1]{20}; [.\node[label=-1]{10}; [.\node[label=0]{5}; [.\node[label=0]{2}; ] [.\node[label=0]{7}; ] ] [.\node[label=0]{17}; ] ] [.\node[label=+1]{25}; \edge[blank]; \node[blank]{}; [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach dem Löschen von „25“} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=-2]{20}; [.\node[label=-1]{10}; [.\node[label=0]{5}; [.\node[label=0]{2}; ] [.\node[label=0]{7}; ] ] [.\node[label=0]{17}; ] ] [.\node[label=0]{31}; ] ] \end{tikzpicture} \end{bBaum} \begin{bBaum}{Nach der Rechtsrotation} \begin{tikzpicture}[b binaer baum] \Tree [.\node[label=0]{10}; [.\node[label=0]{5}; [.\node[label=0]{2}; ] [.\node[label=0]{7}; ] ] [.\node[label=0]{20}; [.\node[label=0]{17}; ] [.\node[label=0]{31}; ] ] ] \end{tikzpicture} \end{bBaum} \end{bAntwort} \end{document}