Algorithmen und Datenstrukturen - · PDF fileZusatzaufgabe 2 (AGS 7.15?) (a) Geben Sie zu dem...

2
Fakultät Informatik Institut für Theoretische Informatik Lehrstuhl Grundlagen der Programmierung Prof. Dr. H. Vogler / Dipl.-Inf. T. Denkinger http://www.orchid.inf.tu-dresden.de Algorithmen und Datenstrukturen 9. Übungsblatt Zeitraum: 11.–15. Dezember 2017 Übung 1 (AGS 7.13) (a) Geben Sie zu dem Pattern abbabbaa die mit Hilfe des KMP-Algorithmus (Knuth- Morris-Pratt) berechnete Verschiebetabelle an. (b) Mit Hilfe des KMP-Algorithmus ist die unten stehende Verschiebetabelle berechnet worden: Vervollständigen Sie das aus den Symbolen a, b und c bestehende Pattern. Position 0 1 2 3 4 5 Pattern b c Tabelle -1 ? ? 0 ? 3 Übung 2 (a) Berechnen Sie die Levenshtein-Distanz d (bürste, schürze). Geben Sie die Berechnungsmatrix vollständig an. Wieviele Backtraces enthält die Berechnungsmatrix? (b) Wieviele Alignments zwischen den Worten Professor und Brotesser führen zu den Kosten 6? Übung 3 (AGS 8.10) Fügen Sie in den unten angegebenen AVL-Baum schrittweise die Schlüssel 7, 8 und 31 ein. Stellen Sie nach jedem Einfügen die AVL-Eigenschaft her und dokumentieren Sie hierbei die ausgeführten Operationen. 20 15 10 5 18 17 25 30 Nutzen Sie die folgenden Abkürzungen: i ( x ) Einfügen des Knotens mit Schlüsselwert x L ( x ) Linksrotation um den Knoten mit Schlüsselwert x R( x ) Rechtsrotation um den Knoten mit Schlüsselwert x Zusatzaufgabe 1 Gegeben seien die Wörter w = bart und v = barbaren. (a) Berechnen Sie die Levenshtein-Distanz d (w, v ) zwischen w und v . Geben Sie die Berech- nungsmatrix vollständig an. (b) Geben Sie drei Alignments mit minimaler Levenshtein-Distanz zwischen w und v an. (c) Wieviele Backtraces enthält die Berechnungsmatrix? 1/2

Transcript of Algorithmen und Datenstrukturen - · PDF fileZusatzaufgabe 2 (AGS 7.15?) (a) Geben Sie zu dem...

Fakultät Informatik • Institut für Theoretische Informatik • Lehrstuhl Grundlagen der ProgrammierungProf. Dr. H. Vogler / Dipl.-Inf. T. Denkinger http://www.orchid.inf.tu-dresden.de

Algorithmen und Datenstrukturen9. Übungsblatt

Zeitraum: 11.–15. Dezember 2017

Übung 1 (AGS 7.13)

(a) Geben Sie zu dem Pattern a b b a b b a a die mit Hilfe des KMP-Algorithmus (Knuth-Morris-Pratt) berechnete Verschiebetabelle an.

(b) Mit Hilfe des KMP-Algorithmus ist die unten stehende Verschiebetabelle berechnet worden:Vervollständigen Sie das aus den Symbolen a, b und c bestehende Pattern.

Position 0 1 2 3 4 5Pattern b c

Tabelle -1 ? ? 0 ? 3

Übung 2

(a) Berechnen Sie die Levenshtein-Distanz d(bürste, schürze). Geben Sie die Berechnungsmatrixvollständig an. Wieviele Backtraces enthält die Berechnungsmatrix?

(b) Wieviele Alignments zwischen den Worten Professor und Brotesser führen zu den Kosten 6?

Übung 3 (AGS 8.10)

Fügen Sie in den unten angegebenen AVL-Baum schrittweise die Schlüssel 7, 8 und 31 ein. StellenSie nach jedem Einfügen die AVL-Eigenschaft her und dokumentieren Sie hierbei die ausgeführtenOperationen.

20

15

10

5

18

17

25

30

Nutzen Sie die folgenden Abkürzungen:

• i(x) – Einfügen des Knotens mit Schlüsselwert x

• L(x) – Linksrotation um den Knoten mit Schlüsselwert x

• R(x) – Rechtsrotation um den Knoten mit Schlüsselwert x

Zusatzaufgabe 1

Gegeben seien die Wörter w= bart und v = barbaren.

(a) Berechnen Sie die Levenshtein-Distanz d(w, v) zwischen w und v. Geben Sie die Berech-nungsmatrix vollständig an.

(b) Geben Sie drei Alignments mit minimaler Levenshtein-Distanz zwischen w und v an.

(c) Wieviele Backtraces enthält die Berechnungsmatrix?

1/2

Zusatzaufgabe 2 (AGS 7.15 ?)

(a) Geben Sie zu dem Pattern a b a a b a b b die mit Hilfe des KMP-Algorithmus (Knuth-Morris-Pratt) berechnete Verschiebetabelle an.

(b) Mit Hilfe des KMP-Algorithmus ist die unten stehende Verschiebetabelle berechnet worden:Vervollständigen Sie das aus den Symbolen a, b und c bestehende Pattern.

Position 0 1 2 3 4 5Pattern a b

Tabelle -1 0 -1 ? 1 1

Zusatzaufgabe 3 (AGS 8.15 ?)

Fügen Sie in die folgenden AVL-Bäume den jeweils angegebenen Schlüssel ein. Dokumentieren Siedie ausgeführten Operationen wie üblich.

5

1

3

6i(4)−−→

5

1

3

6i(2)−−→

3

2

1

6

5

4

8

7 9

i(10)−−−→

3

1

2

6

4 7

i(5)−−→

2/2