Prof. Dr. R. Laue                                                                                                                                  SS01
                                Informatik II
                                Übungsblatt 5
                                            Abgabe: 31.5.01  in der Vorlesung
URL:         /axel/informatik2_ss01_blatt5.html
 

Die Aufgaben sollen in Zweiergruppen bearbeitet werden. Dreiergruppen sind nicht zulässig
Jede Aufgabe soll  auf einem Extrablatt bearbeitet werden. Bitte auf jedem Blatt Name/Matrikelnummer notieren.
 

Aufgabe 13 (10 Punkte Programmieraufgabe per email bis 7.6.01)
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)
Formulieren Sie in Pseudocode einen Algorithmus zur Ausgabe eines Intervalls. Der Algorithmus soll nicht rekursiv sein, sondern Sie verwalten den  nötogen lwr Durchlauf selber indem Sie einen Keller verwenden. Für den Keller haben sie an Funktionen zur Verfügung:

init = Initialisieren
push = auf den Keller legen
pop = vom Keller holen   (liefert den zuletzt eingefügten Wert oder den Wert NULL wenn der Keller leer ist)

Für den Baum verwenden Sie bitte die Datenstruktur aus der obigen Programmieraufgabe.  Beim Aufruf von werden zwei Parameter  übergeben, diese geben die untere und obere Intervallgrenze  an

b) Gesetzt den Fall der binäre Baum hat 1000 Einträge. Wieviel Platz muß im Keller sein, damit Ihr Algorithmus funktioniert? Geben Sie eine untere Schranke (best case) und eine obere Schranke (wort case) an. Diese Schranken sollen in den jeweilligen Fällen auch erreicht werden! Begründung!