Universität Konstanz Fachbereich Informatik & Informationswissenschaft Algorithmen und Datenstrukturen WS 2014/2015 Prof. Dr. Ulrik Brandes / Dr. Martin Mader / Dr. Barbara Pampel / Felix Schönenberger 7. Übungsblatt Ausgabe: 4. Dezember 2014 Abgabe: 10. Dezember 2014, 18:00 Uhr Die Bearbeitung in Zweiergruppen ist ausdrücklich erwünscht. Aufgabe 1: AVL-Bäume 5 Punkte (a) Führen Sie folgende Operationen auf einem anfangs leeren AVL-Baum aus, und geben Sie den Zustand des Baumes nach jeder Operation an. Dokumentieren Sie auch einfache oder doppelte Rotationen. insert(4), insert(8), insert(9), insert(6), insert(5), insert(7), remove(6), remove(5) Gehen Sie beim Löschen von der Strategie Suche gröÿten Nachfah- ren im linken Teilbaum aus (Algorithmus 23 im Skript), und wählen Sie gegebenenfalls bei gleicher Höhe der Teilbäume von Knoten Knoten w als linkes Kind von v v den (anstatt beliebig, vgl. S. 51 im Skript). (b) Geben Sie einem AVL-Baum und auf diesem eine remove- Operation an, welche mehr als eine (Doppel-)Rotation auslöst. Dokumentieren Sie diese Operation. Aufgabe 2: AVL vs. Rot-Schwarz 5 Punkte (a) Geben Sie einen AVL-Baum mit mindestens 8 Knoten an. Färben Sie die Knoten rot und schwarz, so dass der Baum ein Rot-Schwarz-Baum ist. (b) Zeigen Sie, dass jeder AVL-Baum ein Rot-Schwarz-Baum ist. Geben Sie dazu eine Vorschrift für die Einfärbung der Knoten an, und begründen Sie die Korrektheit. Sie können annehmen, dass die Höhe jedes Knotens bekannt ist. (c) Zeigen Sie, dass umgekehrt nicht jeder Rot-Schwarz-Baum ein AVLBaum ist.