Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | Nächste Überarbeitung Beide Seiten der Revision | ||
se:algorithmendatenstrukturen [2009-01-17 20:12] stefan |
se:algorithmendatenstrukturen [2009-01-17 20:32] stefan |
||
---|---|---|---|
Zeile 169: | Zeile 169: | ||
* Straight Radix Sort: quasi ein Counting-Sort für Bitmuster von rechts nach links | * Straight Radix Sort: quasi ein Counting-Sort für Bitmuster von rechts nach links | ||
+ | ===== Backtracking ===== | ||
+ | * Backtracking ist ein Lösungsverfahren nach dem Trial-and-Error-Verfahren | ||
+ | * über Teillösungen soll zu einer Lösung des Gesamtproblems gefunden werden | ||
+ | * wenn ein Teilproblem nicht mehr weiter lösbar ist ("Sackgasse"), werden die vorherigen Teilschritte soweit rückgängig gemacht, dass ein anderer Weg ausprobiert werden kann | ||
+ | * Beispiele | ||
+ | * Wegfindung im Labyrinth (Maus sucht Käse) | ||
+ | * Teilsummenermittlung | ||
+ | * Acht-Damen-Problem | ||
+ | * Sudoku | ||
+ | |||
===== ToDo ===== | ===== ToDo ===== | ||
* Wichtige Bereiche im Skript mit Klebi kennzeichnen | * Wichtige Bereiche im Skript mit Klebi kennzeichnen | ||
Zeile 179: | Zeile 189: | ||
* <del>Arrays mit Quicksort sortieren (C: qsort)</del> | * <del>Arrays mit Quicksort sortieren (C: qsort)</del> | ||
* <del>Heapsort, Countingsort, Radixsort</del> | * <del>Heapsort, Countingsort, Radixsort</del> | ||
- | * Backtracking (Was gibt vorgegebenes Programm aus?) | + | * <del>Backtracking (Was gibt vorgegebenes Programm aus?)</del> |
* Beispiele für Ermittlung der benötigten Zeit nachrechnen | * Beispiele für Ermittlung der benötigten Zeit nachrechnen | ||
* Codeoptimierungen ins Wiki eintragen | * Codeoptimierungen ins Wiki eintragen |