Fachhochschule Regensburg Durchlaufreihenfolge in binären Bäumen, Freie binäre Intervallbäume 2. Aufgabenblatt Algorithmen und Datenstrukturen Name: ________________________ Aufgabensteller: Prof. Sauer Vorname: _____________________ Lösungen. 1. Aufgabe a) Zeichne für die Schlüsselmenge S = {1,2,3} alle Suchbäume der Höhe 3. 3 2 1 3 1 1 1 3 2 2 2 3 b) Zeichne der Reihe nach die folgenden Schlüssel in einen lexikographisch geordneten, zunächst leeren natürlichen Baum ein: eins, zwei, ... , zehn. Dann lösche die Schlüssel sieben, zwei und vier eins drei zwei acht vier fünf zehn sechs neun sieben c) Gegeben ist die folgende Präorder-Durchlaufreihenfolge über die Knoten eines binären Suchbaums 12 6 2 1 4 3 5 8 7 9 10 11 14 13 Konstruiere den dazu korespondierenden binären Suchbaum 1 12 6 14 2 1 8 4 3 13 7 5 9 10 11 2. Aufgabe Welchen Aufwand (notiert in Big-O-Notation) zeigen die folgenden Methoden für Manipulation der Knoten in einem binären Suchbaum der Höhe h a) Test auf Mitgliedschaft eines Knoten mit dem Schlüssel k im binären Suchbaum Zeitlicher Aufwand: O(N ) Begründung für die Angabe unter "zeitlicher Aufwand": Man muß schlimmstenfalls einmal von der Wurzel bis zu einem Blatt laufen (nämlich wenn der gesuchte Schlüssel ein Blatt ist oder nicht im Baum enthalten ist) b) Einfügen eines Knoten mit Schlüssel k in den binären Suchbaum Zeitlicher Aufwand: O(N ) Begründung für die Angabe unter "zeitlicher Aufwand": Man muß den Baum einmal von der Wurzel bis zu dem Knoten durchlaufen, an dem das Blatt eingefügt wird. 3. Aufgabe 1. Gegeben ist ein binärere Suchbaum mit folgender Gestalt 10 7 4 14 8 12 a) Füge in diesen binären Suchbaum den Schlüssel mit dem Wert 13 ein und gib die nach dem Einfügen resultierende Struktur des binären Suchbaums aus. 2 17 10 7 14 4 8 12 17 13 b) Lösche in dem unter a) erhaltenen binären Suchbaum die Wurzel. Welche Gestalt eines binären Suchbaums ergibt sich nach dem Löschen der Wurzel? 12 7 14 4 8 13 17 c) Beschreibe die unter b) angewendete Methode zum Löschen eines Baumknoten im binären Suchbaum. In diesem Fall wird der linkeste Knoten im rechten Teilbaum als neue Wurzel verwendet und der rechte Teilbaum dieses Knotens an Stelle des Knotens an dessen Vorgänger angehangen 2. Gegeben ist der folgende Binärbaum A B D F C E G Gesucht ist, wie die einzelnen Knoten des Baum durchlaufen werden in Inorder- FDGBEAC Präorder- ABDFGEC Postorder-Durchlaufreihenfolge: F G D E B C A 3