Universität Ulm - Abteilung Angewandte Informationsverarbeitung

9. Übungsblatt (12.07.01 bis 19.07.01)
zur Vorlesung Allgemeine Informatik II für Wirtschaftswissenschaftler

SS 2001


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!!!