Prof. Dr. R. Laue                                                                                                                                  SS98
                                Informatik II
                                Übungsblatt 5
                                Abgabe: 12.6 bis 10.00 Uhr im Raum 736 NW2, 2. Stock
 
URL:         /axel/informatik2_ss98_blatt5.html
Dieses  Übungsblatt ist in Zweiergruppen  zu bearbeiten.

Aufgabe 13 (10 Programmierpunkte - Abgabe per email bis 18.6. 10.00 Uhr)
Erweitern Sie nachfolgendes Programm um folgende Punkte:
1. print_baum soll einen lwr Durchlauf vornehmen.
2. insert_baum soll einen Suchbaum anlegen ohne Balancier Operationen.
3. Am Ende von main soll der Baum mit einer noch zu schreibenden Routine free_baum_matrikelnummer(struct knoten *wurzel)  gelöscht werden.
4. Füllen Sie im main Programm den Baum mit 1000 zufälligen Zahlen bevor Sie die print Routine aufrufen.
 

 

Aufgabe 14 (4+2 Punkte)
Man gebe ein Beispiel eines AVL Baums an, bei dem beim Löschen eines geeigneten Knotens mindestens 4 Rotationen oder Doppelrotationen zum Wiederherstellen der AVL-Baumeigenschaft nötig sind. Beweis. (4 Punkte) Wie läßt sich das auf n Rotationen verallgemeinern? (2 Punkte)

Aufgabe 15 (6 Punkte)
Ist es in Bezug auf die Anzahl der Zeigerwechsel günstiger die Doppelrotation als gesonderte Funktion zu programmieren oder sie durch Aufruf zweier entsprechender Funktionen zu realisieren? Begründung.