Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. J. O. Blech Dipl.-Inform. M. J. Gawkowski Dipl.-Inform. N. Rauch
TU Kaiserslautern
Fachbereich Informatik AG Softwaretechnik
Übungsblatt 10: Software-Entwicklung I (WS 2007/08)
Ausgabe: 7. Januar 2008 Abgabe: 14. Januar 2008, 12.00 Uhr Abnahme praktischer Teil: 14. Januar - 17. Januar 2008
Aufgabe 1 Geflechte (praktisch) (10 Punkte)
Betrachten Sie noch einmal den rekursiv referenzierten VerbundDataSetListaus der 4. Aufgabe, Übungs- blatt 9.
a) Schreiben Sie eine rekursive Java-Methode
DataSetList reverse1(DataSetList l){. . .},
die eine einfach verkette Listelals Eingabe entgegenimmt und eine Liste mit Elementen in umgekehrter
Reihenfolge zurückgibt. (2 Punkte)
b) Schreiben Sie eine Java-Methode
DataSetList reverse2(DataSetList l){. . .},
die eine iterative Version vonreverse1ist. (2 Punkte)
Betrachten Sie den rekursiv referenzierten VerbundBinTreeaus der Vorlesungsfolie Nr. 346.
c) Schreiben Sie eine rekursive Java-Methode
int sum1(BinTree t){. . .},
die einen binären Baumtals Eingabe entgegenimmt und die Summe aller Zahlen in den Knoten vont
berechnet. (2 Punkte)
d) Schreiben Sie eine Java-Methode
int sum2(BinTree t){. . .},
die eine iterative Version vonsum1ist. (4 Punkte)
Hinweis:Für die Lösung der letzten Teilaufgabe brauchen Sie möglicherweise eine Hilfsdatenstruktur.
Aufgabe 2 Aufwandsabschätzung (5 Punkte)
Gegeben ist folgender Algorithmus:
for (i = 0; i < n; i++) { for (j = i; j < n;j++) {
a[j] = a[j] + p(i,j) + p(j,i);
} }
for (j = 0; j < m; j++) { a[j] = a[j] + p(i,j);
}
a) Geben Sie abhängig vonnundmeine Funktion an, die die Anzahl der Aufrufe vonpberechnet. Geben
Sie eine möglichst geschlossene Form an! (3 Punkte)
b) Welchen Aufwand hat dieser Algorithmus in Bezug auf Aufrufe anpin der O-Notation in Abhängigkeit
vonnundm? (1 Punkt)
c) Angenommennundmkönnten beliebig groß werden. Wie ändert sich der Speicherplatzbedarf der Va-
riablennundmmit steigender Größe? (1 Punkt)