Universität Ulm - Abteilung Angewandte Informationsverarbeitung
9. Übungsblatt (12.07.01 bis 19.07.01)
SS 2001
zur Vorlesung Allgemeine Informatik II für Wirtschaftswissenschaftler
Sortierte Binärbäume (10 Punkte)
Dieses Übungsblatt beschäftigt sich mit sortierten
Binärbäumen. In der Vorlesung sind Sie ja bereits das Konzept
durchgegangen und haben einige wichtige Prozeduren (Aufbau, grafische Ausgabe,
Einfügen, Löschen) besprochen. Ihre Aufgabe ist es nun, die
folgenden Prozeduren in Oberon zu implementieren:
PROCEDURE SortAscending(p : TreeBasics.Tree);
(* prints the tree elements in ascending order *)
PROCEDURE SortDescending(p : TreeBasics.Tree);
(* prints the tree elements in descending order *)
PROCEDURE Product(p : TreeBasics.Tree) : INTEGER;
(* calculates the product of all tree elements *)
PROCEDURE NumberOfEvenNodes(p : TreeBasics.Tree) : INTEGER;
(* returns the unmber of tree elements with an even index *)
PROCEDURE IsWeightBalanced(p : TreeBasics.Tree) : BOOLEAN;
(* checks if the tree is weight balanced *)
Alle Prozeduren sind rekursiv zu programmieren. Am besten fassen Sie sie in einem separatem Modul zusammen, z.B. TreeFunctions. Ihr Hauptprogramm soll dann einen geeigneten Binärbaum aufbauen und die Prozeduren testen.
Die wichtigsten Grundfunktionen zum Aufbau und zur grafischen Ausgabe habe ich Ihnen aus dem Skript kopiert und in ein Modul TreeBasics zusammengefaßt. Sie können es sich hier runterladen.
Nützliche Hinweise:
Viel Erfolg!!!