1. Definitionen und Überblick
2. Grundlagen
2.1. Mathematische Grundlagen
2.1.1 Ganzzahlige Rundung
2.1.2 Modulo-Rechnung
2.1.3 Integerfunktion
2.1.4 Betragsfunktion
2.1.5 Summen
2.2. Beschreibung der Algorithmen
2.3. Ablaufstrukturen
2.3.1 Sequentiell
2.3.2 konditional
2.3.3 iterativ
2.4. Komplexität von Algorithmen
2.5. Variablen, Datentypen
3. Bearbeitung nicht-numerischer Daten
3.1. Einführung
3.2. Speicherung von Strings
3.2.1 datensatz-orientiert
3.2.2 variable Länge mit /ohne festes Maximum
3.4. Operationen mit Strings
3.4.1 Teilstrings
3.4.2 Mustererkennung
3.5. Textverarbeitung
3.6. Komplexität
4. Arrays, Datensätze, Zeigervariablen
4.1. Einführung
4.2. Lineare Arrays
4.3. Einfügen und Löschen von linearen Arrays
4.4. Sortieren: Bubble Sort
4.5. Wachstum der Komplexität (O-Funktion)
4.6. Sequentielle Suche
4.7. Binäre Suche
4.8. Mehrdimensionale Arrays
4.8.1 zwei-dimensional
4.8.2 beliebig mehrdimensional
4.9. Zeigervariablen
4.10. Datensätze und ihre hierarchische Struktur
4.11. Speicherung von Datensätzen variabler Länge
5. Verkettete Listen
5.1. Einführung
5.2. Definitionen
5.3. Speicherung
5.4. Durchsuchen
5.5. Speicherverwaltung
5.6. Einfügen
5.7. Löschen
5.8. Zweifach verkettete Listen
5.9. Schlangen
6. Stapel, Schlangen, Rekursion
6.1. Einführung
6.2. Bearbeiten von Stapeln
6.3. Speicherung von Stapeln in Arrays
6.4. Polnische Notation
6.5. Umwandlungen zwischen Infix- nach Präfix-Notation
6.6. Quicksort als Anwendung von Stapeln
6.7. Türme von Hanoi
Übungen
Die Übungen werden zu allen wichtigen Teilgebieten in 2 Wochenstunden abgehalten.