• Keine Ergebnisse gefunden

Einige optionale Übungsaufgaben (aus älteren Klausuren)

N/A
N/A
Protected

Academic year: 2022

Aktie "Einige optionale Übungsaufgaben (aus älteren Klausuren)"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Datenstrukturen Hochschule RheinMain

Sommersemester 2014 Prof. Dr. Steffen Reith

8. Übungsblatt

Aufgabe 1 (Stacks)

In dieser Aufgabe soll der abstrakte Datentyp Stack implementiert werden. Dabei soll ihre Implementierung so flexibel sein, dass sie (z.B. durch neues Übersetzen leicht) auf einen anderen Basisdatentyp angepasst werden kann. Verwenden Sie dazu ein geeignetes #define. Auf jeden Fall sind die Methoden push, pop und isEmpty zu implementieren.

Schreiben Sie ein Testprogramm, dass auf einem Stack von Typ int die Zahlen 1. . .128 nacheinander ablegt. Danach entfernen Sie die Elemente des Stacks mit popund geben sie aus bis der Stack leer ist. Welche Reihenfolge der Zahlen ergibt sich?

Aufgabe 2 (Stacks)

Die Umgekehrte Polnische Notation (kurz UPN), auch Postfixnotation genannt, wird von einigen bekannten Taschenrechnern verwendet. Bei der UPN werden zuerst die Operanden eingegeben und danach der darauf anzuwendende Operator.

Bsp.: Der Ausdruck (3 + 4)lautet in UPN 3 4 + und aus(47) + 3wird dann 4 7 * 3 +.

Schreiben Sie ein Programm, das UPN-Ausdrücke einliest und auswertet in denen Zahlen und die Operatoren + und vorkommen können. Verwenden Sie dazu Ihren Stack. Beispiel:

restliche Eingabe Stack (top rechts) Operationen

2 7 * 3 + 2 mal push

* 3 + 2 7 2 mal pop, multiplizieren und push

3 + 14 1 mal push

+ 14 3 2 mal pop, addieren und push

17 Ergebnis: 17

Enthält der Stack nur noch ein Element und ist die Eingabe vollständig gelesen, so ist das Ergebnis der Berechnung gefunden. Vereinfachend können Sie davon ausgehen, dass Ihr Programm nur mit korrekten UPN-Ausdrücken umgehen kön- nen muss.

• Wieviele Elemente können während einer Berechnung maximal auf dem Stack liegen? Berücksichtigen Sie diese Überlegung für die (evtl.) Verein- fachung Ihrer Implementation.

(2)

• Implementieren Sie die Eingabe so einfach wie möglich (z.B. jede Zahl und jeder Operator wird einzeln (neue Zeile) eingelesen. Das Ende der Eingabe wird mit einem besonderen Zeichen angezeigt.).

Optional: Mit wenig Aufwand kann man Ihre Implementierung um die Ope- randen und / erweitern. Implementieren Sie diese Erweiterung.

Aufgabe 3 (Bäume)

Die Höhe eines Baums ist definiert als die Anzahl der Knoten in einem längsten Pfad von Knoten zu einem Blatt. Damit hat ein Baum der nur aus der Wurzel besteht schon die Höhe 1. Beweisen Sie, dass ein vollständiger trinärer Baum (jeder Knoten der kein Blatt ist hat genau3Kinder) der Höhehgenau(3h1)/2 Knoten enthält.

Hinweis: Wissen über die Geometrische Reihe ist immer nützlich.

Die Abnahme der Lösungen zu diesen Aufgaben findet erst in der KW 24 ab dem 12. Juni 2014 nach der Vorlesung statt. Die Termine für die WI- Gruppen gibt Herr Werntges bekannt!

2

(3)

Einige optionale Übungsaufgaben (aus älteren Klausuren)

• 1. i = 1;

2. while (i < n) { 3. i++;

4. j = 1;

5. do {

6. j = j + 2;

7. } while (j <= n) 8. }

Geben Sie den Zeitbedarf der Zeilen 4 bis 7 und für das gesammte Programm in Abhängigkeit von n an. Benutzen Sie die O-Notation.

• Beschreiben Sie Insertion Sort in Pseudocode und sortieren Sie die Zahlen 9 3 2 7 damit. Notieren Sie die sich ergebende Zahlenfolge nach jedem inneren Schleifendurchlauf.

• Die Zahlen 2, 5, 9, 11 sind in einer (zeigerverketteten) linearen Liste gespeichert.

Erläutern Sie mit

”Zeigerbildchen“ und kurzen Kommentaren, wie die Zahl 7 in diese Liste eingefügt wird.

• Was versteht man unter

”terminieren“ und wann ist ein Algorithmus

”korrekt“?

• Welche Laufzeit hat MergeSort im worst case?

• Beschreiben Sie Selection Sort umgangssprachlich.

• Richtig oder falsch?

”Deterministische Algorithmen sind immer korrekt“ Begrün- den Sie Ihre Antwort!

3

Referenzen

ÄHNLICHE DOKUMENTE

Und wenn ich das tue, möchte ich auch nicht Toleranz in Anspruch nehmen müssen - Toleranz würde ja nur bedeuten, dass ich zwar schon was und womöglich begründet dagegen habe,

Hier soll es aber um die Frage gehen, welche Grenzen der Pädagogik selbst gesetzt sind bzw.. zu

Zwar könne man mit Fach- wissen zu einem bestimmten Problem viel herausholen, glaubt IT-Experte Steinberger, aber einer der wertvollsten Aspekte moderner KI ist, dass

Wenn wir aber einen Streifen, zum Beispiel eine Papierstreifenrolle mit gegebener Brei- te haben, kann das dazu passende Siebeneck berechnet und aus Karton oder steifem

( Hinweis : In einem echten Bin¨arbaum hat jeder Knoten entweder genau zwei Kinder (innere Knoten) oder ist ein Blatt.).. Aufgabe 2

Für die Beurteilung von abweichenden Situationen wird angenommen, dass sich die Störwirkung in Abhängigkeit der Anzahl Stop &amp; Go Ereignisse verändert. Bei einer minimal

Eine solche Formel heißt erfüllbar, wenn eine Belegung der Variablen mit Werten true und false existiert, so dass für jedes Paar c i mindestens eines der beiden Elemente ` i1 bzw. `

Computer-gestützte Programme für das Ge- wichtsmanagmeent seien zwar weniger wirk- sam als persönliche Interventionen, aber auf jeden FAll besser als nichts und auch ange- sichts