Um die Behauptungen zu beweisen, kann man die vorherigen Aussagen und die bewiesenen Behauptungen mitbenutzen.
Um das Prinzip zu verstehen: 1 + 3 + 5 + ... + (2n-1) = n², wobei n > 0.
x ++ [] = x, wobei (a) [] ++ v = v und (b) (a:v) ++ w = a:(v ++ w)
rev (a ++ b)= (rev b) ++ (rev a), wobei (a) rev [] = [] und (b) rev (a:v) = (rev v) ++ [a]
rev (rev xs) = xs, wobei (a) rev [] = [] und (b) rev (a:v) = (rev v) ++ [a] und (c) rev [x] = [x] und (d) [x] = x:[]
Primitiv rekursive Funktion
Vorgängerfunktion pred
Gleichheit mit Null eq0, wobei True 1 und False 0 entspricht
Subtraktion sub von zwei Zahlen, wobei bei Rojas x-y = sub(y, x)
and, not, größer-gleich ≥
if (x, y, z), wobei if x then y else z
O-Notation
Sortieren Sie die folgenden Laufzeiten aufsteigend.
(a) n3 (b) log2 n (c) 1,8n (d) n (e) 3n (f) √n (g) n(log2 n)2 (h) n2
Finden Sie möglichst einfache Ausdrücke der Form Θ(·) für folgende Funktionen:
(a) 3n2 − 4n + 32 + 27 n · ⌈log2 n⌉ / 2
(b) max{n⌈log2 n⌉, (⌈log2 n⌉)4}
(c) 22n + ⌈log2 n⌉
Algorithmen
Dijkstra
a ist der Startknoten.
Kleinster aufspannender Baum
Prim und Kruskal am obigen Graphen.
Huffman
Für das Wort ABRACADABRASIMSALABIM die Wahrscheinlichkeiten der einzelnen Buchstaben bestimmen und dann einen Binärcode nach dem Huffman-Algorithmus erstellen.
Verschiebefunktion
Aufstellen der Verschiebefunktion des Musters babcabb und überprüfen ob es im Text abbababcababcabbbca entghalten ist.
Graphen und Bäume
AVL-Baum
Erstelle einen neuen AVL-Baum und füge folgende Werte nacheinander ein: 3, 2, 1, 4, 5, 6, 7, 16, 15
Nun lösche die Werte 4 und 2.
B-Baum
Erstelle einen neuen (2,3)-Baum und füge folgende Werte nacheinander ein: 1, 5, 2, 6, 7, 4, 8, 3
Ich denke, dass man Löschen nicht können muss. Das ist ziemlich kompliziert!
Rot-Schwarz-Baum
Wandle den folgenden Rot-Schwarz-Baum in einen einen (2,4)-Baum um.
Die Grafik ist ein Screenshot von Arsen Gogeshvilis Binärbaum-Applet
Suffixbaum
Erstelle einen Suffixbaum des Wortes ananas$.
Adjazenzliste und -matrix
Gebe für folgenden Graphen eine Adjazenzliste und eine Adjazenzmatrix an und überlege welche Darstellung hier sinnvoller ist.
Grafik entnommen aus Saake, Sattler: "Algorithmen & Datenstrukturen"
Konvexe Hülle
Folgende Punkte im Koordinatenkreuz bilden einen Graphen: A(1/9), B(3/7), C(4/8), D(5/1), E(7/5), F(7/7), G(9/3), H(10/8)
Nenne die Punkte, die in der komplexen Hülle enthalten sind.
Infix, Prefix und Postfix
Folgende Terme in Pre- und Postoder darstellen.
(a) 2 + 3 * 6 - 4 / 1
(b) 5 * (6 + 2) - 7 / 4 + 2 * 5
Am Einfachsten geht das mit Hilfe eines Termbaums.
(c) Pre-, In- und Postorder von folgendem Termbaum