Universität Mannheim
Lehrstuhl für Praktische Informatik IV
Prof. Dr. W. Effelsberg
R. Lienhart 416
S. Pfeiffer 417


Bitte unbedingt beachten:

Die Programme müssen in ANSI-C geschrieben werden.
Sie müssen im Pool mit dem GNU C-Compiler gcc -Wall -ansi -pedantic fehlerfrei übersetzbar und lauffähig sein.
Wenn mehrere Dateien mit der abox abgegeben werden sollen, müssen sie vorher mit dem Befehl tar zu einer Datei zusammengebunden werden.

Übungsblatt 5

Abgabe: 14.12.95 um 12:00 Uhr

Aufgabe 1 [30 Punkte]

  1. Implementieren Sie die Binäre Suche. Die Suchelemente sind diesmal aber keine Zahlen, sondern Zeichenketten (Strings). In C werden Zeichenketten über Zeiger verwaltet. Sie müssen also die Zeichenketten über eine Array aus Zeigern vom Typ char* verwalten. Folgende Funktionen müssen Sie schreiben:

    Schreiben Sie ein Programm, das die Strings mit leseWoerterAusDatei einliest, in das Array an der richtigen Stelle (sortiert) einfügt und den resultierenden Binärbaum mit schreibeWoerterSortiertInDatei wieder ausgibt. Schreiben Sie auch ein Programm, das die zu sortierenden Daten mit leseWoerterAusDatei einliest, in das Array an der richtigen Stelle (sortiert) einfügt, die Suchwöter mittels leseSuchWoerterAusDatei einliest und das Suchergebnis auf dem Bildschirm ausgibt.

  2. Implementieren Sie die Funktion
    gemäß der Interpolationsuche.

  3. Vergleichen Sie das Laufzeitverhalten der Suchverfahren aus 1. und 2. bei einer großen Anzahl von Wörtern (>1000).

Aufgabe 2 [20 Punkte]

Gegeben sei die List L = 1,2,3,4,5,6,7 und die Zugriffsfolge s mit 21 Zugriffen: Vergleichen Sie das Verhalten der MF- und T-Regel für diese Zugriffsfolge s, indem Sie das folgende Schema ergänzen:


Last modified: Tue Dec 5 12:53:23 MET 1995