Algorithmen und Datenstrukturen I Universität Leipzig Institut für Informatik WS 2013/2014 Serie 4 Bioinformatik/IZBI Prof. P.F. Stadler, S. Will Ausgabe am Abgabe am 19.12.2013 9.01.2014 Seite 1/2 Algorithmen und Datenstrukturen I WS 2013/2014 Serie 4 16 (6 Punkte) Eigenschaften Binärer Bäume Gegeben sind die folgenden Binärbäume. (i) (ii) (iii) 7 1 (iv) 0 0 6 1 2 3 5 4 6 3 2 5 4 2 1 6 1 2 3 5 7 8 4 9 a) (4 Punkte) Geben Sie für jeden der Bäume (i)-(iv) dessen Höhe an, und ob er die folgenden Eigenschaften hat (ja/nein): strikt, ausgeglichen, fast vollständig, vollständig. Geben Sie Ihre Ergebnisse in Form einer Tabelle, in der zu jedem der Bäume jeweils eine Spalte steht. Beachten sie: Die Höhe eines Baums sei dabei deniert als der maximale Abstand eines Blatts zur Wurzel + 1. Ein Baum, der genau einen Knoten enthält, hat also die Höhe 1. b) (2 Punkte) Geben Sie zu den Bäumen (i) und (iii) an, durch welchen Ausdruck sie jeweils gemäÿ ADT-Spezikation BINTREE erzeugt werden. 17 (3 Punkte) Traversierung von Bäumen Gegeben sei ein Algorithmus zur Baumtraversierung 1 TRAVERSAL(T) { 2 Falls T leer, return; 3 Sonst habe T die Wurzel w sowie linken und rechten Tochterbaum Tl und Tr 4 Gebe w aus; 5 TRAVERSAL(Tl); 6 TRAVERSAL(Tr); 7 } Unterschiedliche Traversierungsvarianten lassen sich beschreiben, indem man die Zeilen 4, 5 und 6 permutiert. Vertauscht man zum Beispiel Zeilen 4 und 5, dann ergibt sich ein Algorithmus, der die Schlüssel in Zwischenordnung ausgibt; wir bezeichnen diesen durch Angabe der neuen Zeilenreihenfolge als Variante 5-4-6. Der Baum T ? sei gegeben als Algorithmen und Datenstrukturen I Universität Leipzig Institut für Informatik WS 2013/2014 Serie 4 Bioinformatik/IZBI Prof. P.F. Stadler, S. Will Ausgabe am Abgabe am 19.12.2013 9.01.2014 Seite 2/2 c h t h n e a e n i w a) Welche (durch Permutation der Zeilen 4-6 entstehende) Variante von TRAVERSAL gibt auf T ? angewendet den Namen eines naheliegenden Festes aus? (1 Punkt) b) Geben sie ausserdem einen fast vollständigen Binärbaum an, aus dem die Variante 5-6-4 (das entspricht postorder) das in (a) gesuchte Wort erzeugt. (2 Punkte) 18 (10 Punkte) Binäre Suchbäume Gegeben sind die Schlüsselsequenzen a) 4, 6, 2, 3, 1, 5 b) 1, 5, 4, 3, 2, 6 c) 1, 2, 4, 3, 5, 6 Bauen Sie zu jeder der Sequenzen den natürlichen binären Suchbaum auf. Fügen Sie also die Schlüssel der Reihe nach in einen anfangs leeren Binärbaum ein. Als Ordnung auf den Schlüsseln verwenden sie (wie üblich) die aufsteigende Ordnung. Zeichnen sie den Baum nach dem letzten Einfügen (Darstellung wie in Aufgabe 16). Löschen Sie danach jeweils den Schlüssel 5 und zeichnen Sie den nun erhaltenen Baum. Gibt es mehrere Möglichkeiten resultierender Bäume, so geben Sie alle an. 19 (6 Punkte) Linearisierung Binärer Suchbäume Ein binärer Suchbaum T mit n Knoten wird in Vorordnung (Pre-order) ausgegeben; dies erzeugt eine Schlüsselfolge F = a1 , a2 , . . . , an . Diese Abbildung eines Baums T auf eine Folge F sein durch die Funktion P : T 7→ F beschrieben. Die Schlüssel werden anschliessend der Reihe nach in einen anfangs leeren binären Suchbaum eingefügt. Diese Erzeugung eines Baumes B aus einer Folge F , sei durch B : F 7→ T ausgedrückt. Beweisen sie durch vollständige Induktion, dass der so konstruierte binäre Suchbaum gleich dem anfänglichen Baum T ist. Beginnen sie damit, die Behauptung unter Verwendung der Funktionen P und B zu formalisieren.