* Syntaxbaum erstellen * 8-Damen-Problem * Sortieralgorithmen * Bubblesort, Insertsort, Mergesort, Quicksort (+ randomisiert), Median-of-three, Heapsort
* Datenstrukturen
(4 + 5) * (3 - 1) / 9
4 5 + 3 1 - * 9 /
* kann leicht mit Hilfe eines Stacks implementiert werden
* Umwandlung Infix → Postfix (alle Ausdrücke müssen geklammert sein)
maxHeapify
n2 = (n - 1)2 + 2n - 1
ggT(n, m) = 0, wenn m = 0, sonst ggT(m, n mod m)
(k * (k + 1)) / 2
bis zahl = 0: rest = zahl % 2, zahl = zahl / 2; Reste umgekehrt ausgeben
'F(0) = 1; F(1) = 1; F(n) = F(n - 2) + F(n - 1)
n über k = 1, wenn n oder k = 0, sonst (n - 1 über k) + (n - 1 über k - 1)
i += 10
anstatt i++
) (loop strength reduction)* Stabilität: stabile Sortieralgorithmen behalten die relative Reihenfolge der Elemente bei, wenn das Sortierkriterium gleich ist
* Quicksort
* Entrekursivierung: zweiten rekursiven Aufruf durch while ersetzen * Median-of-Three-Methode * Drei-Wege-Partitionierung * Quicksort in C (''stdlib.h''): ''void qsort(void *array, size_t n, size_t length, int (*compare)(const void *val1, const void *val2))''
* Heapsort
* Sortierung über Häufigkeitsverteilung der Werte (z.B. 5 Werte kleiner als "g", also muss "g" Index 5 im neuen Array bekommen)
* Radix-Sort
* Sortierung anhand des Bitmusters von Zahlen * Radix Exchange Sort: Bitmuster von links nach rechts durchgehen, 0 vor 1 einsortieren * Straight Radix Sort: quasi ein Counting-Sort für Bitmuster von rechts nach links