• Keine Ergebnisse gefunden

2. ¨ Ubung zur Informatik I

N/A
N/A
Protected

Academic year: 2021

Aktie "2. ¨ Ubung zur Informatik I"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. R. Schrader SS 2002 Ch. Hagemeier

2. ¨ Ubung zur Informatik I

Abgabe: 30.4. und 02.5.2002 in den ¨Ubungen

Aufgabe 5: (4+6+6 Punkte)

Untersucht werden soll die Entwicklung der Siemens-Aktie im Verlaufe eines bestimmten Zeitraumes, indem nachtr¨aglich anhand der Kurs¨anderungen f¨ur die einzelnen B¨orsentage ein bester Einkaufs- und Verkaufstag f¨ur die Aktie bestimmt wird, so daß der erzielte Zuge- winn maximiert wird, wenn man die Aktie am Einkaufstag erworben und am Verkaufstag abgestoßen h¨atte.

Beispiel:

Tagesgewinne/-verluste: +2; –3; +5; –1; +6; –1; –9; +1

bester Einkaufstag: dritter Tag; bester Verkaufstag: f¨unfter Tag.

L¨osung des Problems durch Divide-and-Conquer:

Teilt man die Zahlenfolge in der Mitte auf, so liegt die maximale Teilfolge entweder ganz in einem der beiden Teile, oder sie umfaßt die Trennstelle, liegt also teils in der linken und in der rechten H¨alfte. Im letzten Fall findet man das auf einer Seite liegende Teilst¨uck der maximalen Teilfolge, indem man die maximale zusammenh¨angende Teilfolge auf dieser Seite sucht, die das Randelement an der Trennstelle enth¨alt.

a) Formulieren Sie diesen Algorithmus in der Pseudo-Programmiersprache.

b) F¨ur die Anzahl der Elementarschritte, die dieser Algorithmus bei einer Zahlenfolge der L¨ange n ausf¨uhrt, gilt die folgende Rekursionsformel:

T(1) = c1 T(n) = 2·T n

2

+c2·n

mit Konstantenc1, c2 ∈IIN Zeigen Sie: T(n) = Θ(nlogn).

c) Wie kann man die maximale Teilfolge sogar in Θ(n) Schritten bestimmen? Skizzieren Sie einen Algorithmus in der Pseudo-Sprache.

Aufgabe 6: (3 Punkte)

In einem Kopfbahnhof mit drei Gleisen befinden sich in den Gleisen S1 und S2 Eisenbahn- waggons, die f¨ur die Zielbahnh¨ofe K¨oln und Hamburg bestimmt sind, aber leider durch- einander stehen. Das Gleis S3 sei leer. Betrachten Sie S1, S2, S3 als Stacks, und schreiben

(2)

Sie ein Rangierprogramm unter der Verwendung der unten angegebenen Prozeduren, das die Wagen so umordnet, daß anschließend in S1 alle Waggons nach K¨oln und in S2 alle Waggons nach Hamburg stehen.

• push(S : Stapel; X : Waggon) {stellt Waggon X auf S ab}

• pop(S : Stapel) : Waggon

{liefert den vordersten Waggon von S und entfernt ihn von S, falls S nicht leer ist;

sonst Fehler}

• top(S : Stapel) : Zielbahnhof

{liefert den Zielbahnhof des ersten Waggons in S, ohne den Waggon zu entfernen}

• leer(S : Stapel) : Boolean

{true, fallsS leer ist, sonstf alse}

Aufgabe 7: (4 Punkte)

Um das Maximum und das Minimum einer n-elementigen Menge S zu bestimmen, kann man das folgende Divide-and-Conquer Verfahren anwenden:

1. Divide: Zerlege die Menge S in zwei Teilmengen S1 und S2 mit |S1| = d|S|/2e und

|S2|=b|S|/2c.

2. Conquer: Wende das Verfahren rekursiv an, um max(S1),min(S1),max(S2) und min(S2) zu berechnen.

3. Berechne daraus max(S) und min(S).

a) Formulieren Sie zu diesem Algorithmus ein rekursives Programm in der Pseudo-Pro- grammiersprache.

b) V(n) sei die Anzahl der Vergleiche, die der obenstehende Algorithmus ausf¨uhrt, um das Maximum und das Minimum einern-elementigen Menge zu erhalten. Zeigen Sie, daß f¨ur n= 2k gilt:

V(n) = 3 2n−2

c) Mit Hilfe von Stacks kann man rekursive Probleme iterativ abarbeiten, indem man Teilprobleme, die zun¨achst zur¨uckgestellt werden, auf den Stack stapelt und sp¨ater weiter bearbeitet, bis der Stapel leer ist. Schreiben Sie ein iteratives Programm in der Pseudo-Programmiersprache, das das obige Verfahren realisiert. Benutzen Sie dazu einen Stack und die Stackoperationenpush und pop, ohne sich Gedanken ¨uber die Repr¨asentation der Menge S durch konkrete Datenstrukturen zu machen. Die Mengenoperationen V ereinige(S1, S2, S1 ∪ S2) und P artitioniere(S, S1, S2) d¨urfen verwendet werden.

(3)

Organisatorisches:

• Die ¨Ubung MI, 10:15-11:45 bei Adem findet ab dem 08.05. nicht mehr im H¨orsaal Pohlighaus sondern imSeminarraum C der Chemie statt!

• Wegen des Feiertags am 1. Mai werden die ¨Ubungsstunden, die sonst am Mittwoch stattfinden, ausnahmsweise am Donnerstag abgehalten.

FolgendeMittwochsgruppen findennicht zur gewohnten Zeit am gewohnten Ort statt:

Gruppe Ort und Zeitam 02.05.

MI, 10:15–11:45 bei Adem 12:15-13:45 in S82 im Philosophikum MI, 11:30–13:00 bei Cem 10:15–11:45 in S55 im Philosophikum

MI, 15:00–16:30 bei Norbert 14:15–15:45 im H¨orsaal II der Physik (wie Vorlesung)

Alle anderen Mittwochsgruppen finden ausnahmsweise am Donnerstag, 02.05., zur gleichen Zeit und am gleichen Ort wie mittwochs statt! Wer dort keine Zeit hat, kann in dieser Woche an einer anderen ¨Ubungsgruppe teilnehmen und dem entsprechenden Gruppenleiter die ¨Ubungsaufgaben abgeben. Vermerkt auf dieser Abgabe bitte deutlich Eure eigentliche ¨Ubungsgruppe und den Leiter!

Referenzen

ÄHNLICHE DOKUMENTE

Joachim Weickert Fakult¨ at f¨ ur Mathematik und Informatik Dr..

Angenommen, die Eingabedatei des allerersten Programmlaufs hat eine L¨ange von 300 Ki- lobyte und soll zusammen mit den Ausgabedateien aller Programml¨aufe gespeichert werden.

Joachim Weickert Fakult¨ at f¨ ur Mathematik und Informatik Dr..

Universit¨ at des Saarlandes Prof. Joachim Weickert Fakult¨ at f¨ ur Mathematik und Informatik Dr. Bernhard Burgeth.. Wintersemester 2003/2004 Dr. a) Bestimmen Sie

Ermitteln Sie die Anzahl n dieser Iterationen (ohne die Iterationen auszuf¨ uhren), die min- destens n¨ otig sind, um x ∗ mit einem absoluten Fehler kleiner oder gleich 10 −4

Im Gegensatz zum klassischen Newton-Verfahren spart man sich beim vereinfachten Newton- Verfahren die Berechnung der Ableitungswerte f 0 (x k ), k =

Joachim Weickert Fakult¨ at f¨ ur Mathematik und Informatik Dr..

Zeigen Sie, dass das Resultat nicht von der Integrationsreihenfolge abh¨ angt. Abgabetermin: