1 Sekunde 1 Minute 1 Stunde 1 Tag 1 Monat T1 T2 T3 T4 T5

Werbung
Prof. Dr. V. Strehl
Informatik 8
May 8, 2003
Übungen zur
Einführung in die Theoretische Informatik 3
SS 2003
I hear, I forget;
I see, I remember;
I do, I understand.
Chinesisches Sprichwort, zitiert in
Rawlins, Compared to what?
• Aufgabe 6: Vergleich von Laufzeiten I
Ihnen liegen zur Lösung eines Problems drei Algorithmen A, B, C vor, deren Laufzeit bei
inputs der Grösse n ∈ N jeweils
tA (n) = 4 · n + 20
tB (n) = n · log2 (n) + 2 · n + 4 tC (n) = n · (n − 1) + 4
beträgt. Welcher Algorithmus ist in Abhängigkeit von der input-Grösse n der Beste bzw.
Schlechteste?
• Aufgabe 7: Vergleich von Laufzeiten II
Sie haben einen Rechner, der 103 Operationen pro Sekunde ausführt. Betrachten Sie fünf Algorithmen, die in Abhängigkeit von der Eingabegrösse n jeweils Ti (n) (1 ≤ i ≤ 5) Operationen
ausführen. Dabei sei
T1 (n) = 500 · n, T2 (n) = 50 · n log n, T3 (n) = n2 , T4 (n) =
3n
3
· n3 , T5 (n) =
1.000
10.000
Geben Sie für jeden der fünf Algorithmen an, welche Eingabegrösse n in genau einer Sekunde,
einer Minute, einer Stunde, einem Tag, einem Monat bearbeitet werden kann.
1 Sekunde 1 Minute 1 Stunde
1 Tag
1 Monat
T1
T2
T3
T4
T5
Wie verändern sich diese Werte, wenn die Rechenleistung um den Faktor 10 höher liegt, d.h.
104 Operationen pro Sekunde?
• Aufgabe 8: Binäre Bäume I
Die Menge B der binären Bäume wird rekursiv definiert durch die Regeln:
–
ist ein binärer Baum
– sind t` , tr binäre Bäume, so ist auch t = h, t` , tr i ein binärer Baum
– nur das, was durch die beiden vorigen Regeln erzeugt werden kann, ist ein binärer Baum
Binäre Bäume werden üblicherweise dargestellt im Sinne der Graphentheorie als Bäume mit
Wurzel, wobei ein Knoten zwei oder keinen Knoten als (geordnetet) Nachfolger hat. Ersteres
sind die mit bezeichneten inneren Knoten, letzteres die mit bezeichneten äusseren
Knoten (Blätter). In der obigen Definition bezeichnet also einen Baum, der nur aus einem
einzigen (und zwar äusseren) Knoten besteht; das Objekt t = h, t` , tr i ist ein Baum mit
Wurzel , an die zwei binäre Bäume t` und tr als linker bzw. rechter Teilbaum angehängt
sind.
t = !", t!, tr #
t!
tr
1. Es bezeiche Bn die Menge der Binärbäume mit n inneren (und n + 1 äusseren) Knoten.
Konstruieren Sie (in grafischer Darstellung) Bn für n = 0, 1, 2, 3, 4.
2. Binärbbäume kann man mittels Wörtern über dem Alphabet { , } codieren, indem
man gemäss dem rekursiven Aufbau eine Abbildung code : B → { , }∗ definiert:
code( ) =
code(h, t` , tr i) = code(t` ) code(tr )
Dem entspricht die Generierung mittels einer kontextfreien Grammatik GB in BNF mit
einem Variablensymbol B (das also auch Startsymbol ist), Terminalsymbolen und
, sowie den Produktionen
B → BB
In dem grafischen Beispiel entspricht dann der linke (rechte) Teilbaum t` (tr ) dem Wort
code(t` ) = , (dem Wort code(tr ) = ), der
Baum t = h, t` , tr i somit dem Wort
code(t) = code(t` ) code(tr ) = (a) Überprüfen sie die eben gemachte Aussage über das Beispiel.
(b) Geben Sie die den Mengen Bn (n = 0, 1, 2, 3, 4) entsprechenden von GB erzeugten
Wortmengen an.
(c) Konstruieren Sie das Wort code(t) für den folgenden Binärbaum
(d) Untersuchen sie für die folgenden Wörter, ob sie Codierungen von Binärbäumen im
Sinne der Abbildung code : B → { , }∗ sind
i. ii. iii. 3. Überprüfen Sie an den Beispiel-Wortmengen folgende Beobachtung und beweisen Sie
dann: streicht man in jedem von GB erzeugten Wort das letzte Symbol und identifiziert
man dann mit “linke Klammer” und mit “rechte Klammer”, so entsprechen diese
Wörter genau den wohlgeformten Klammerausdrücken entsprechender Länge.
[Hinweis: es könnte nützlich sein, auch für die wohlgeformten Klammerausdrücke eine
kontextfreie Grammatik zu entwerfen.]
4. Reminiszenz an Theorie-1:
(a) Warum ist die Sprache der Binärbäume nicht regulär (= Typ-3)?
(b) Konstruieren sie einen Kellerautomaten, der die Sprache der Binärbäume akzeptiert.
Herunterladen