Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00
Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00
Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Inhaltsverzeichnis<br />
2.6.5. Rekursive Funktionsdefinitionen . . . . . . . . . . . . . . . . . . 36<br />
2.6.6. Applikative <strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . 37<br />
2.6.7. Beispiele für applikative <strong>Algorithmen</strong> . . . . . . . . . . . . . . . 37<br />
2.7. Imperative <strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />
2.7.1. Gr<strong>und</strong>lagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
2.7.2. Komplexe Anweisungen . . . . . . . . . . . . . . . . . . . . . . . 44<br />
2.7.3. Syntax imperativer <strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . 45<br />
2.7.4. Semantik imperativer <strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . 45<br />
2.7.5. Beispiele für imperative <strong>Algorithmen</strong> . . . . . . . . . . . . . . . 45<br />
2.8. Begriffe des Kapitels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />
2.9. Beispiele in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
3. Ausgewählte <strong>Algorithmen</strong> 53<br />
3.1. Suchen in sortierten Listen . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />
3.1.1. Sequentielle Suche . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />
3.1.2. Binäre Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />
3.1.3. Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />
3.2. Sortieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />
3.2.1. Sortieren: Gr<strong>und</strong>begriffe . . . . . . . . . . . . . . . . . . . . . . . 55<br />
3.2.2. Sortieren durch Einfügen . . . . . . . . . . . . . . . . . . . . . . 55<br />
3.2.3. Sortieren durch Selektion . . . . . . . . . . . . . . . . . . . . . . 55<br />
3.2.4. Bubble-Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
3.2.5. Merge-Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
3.2.6. Quick-Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />
3.2.7. Sortier-Verfahren im Vergleich . . . . . . . . . . . . . . . . . . . 58<br />
3.3. Java-Realisierungen der Beispiele . . . . . . . . . . . . . . . . . . . . . 58<br />
3.3.1. Such-<strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
3.3.2. Sortier-<strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
4. Eigenschaften von <strong>Algorithmen</strong> 67<br />
4.1. Formale <strong>Algorithmen</strong>modelle . . . . . . . . . . . . . . . . . . . . . . . . 67<br />
4.1.1. Registermaschinen . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />
4.1.2. Abstrakte Maschinen . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
4.1.3. Markov-<strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />
4.1.4. CHURCH’sche These . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
4.2. Berechenbarkeit <strong>und</strong> Entscheidbarkeit . . . . . . . . . . . . . . . . . . 82<br />
4.2.1. Existenz nichtberechenbarer Funktionen . . . . . . . . . . . . . 82<br />
4.2.2. Konkrete Nicht-berechenbare Funktionen . . . . . . . . . . . . . 84<br />
4.2.3. Das Halteproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />
4.2.4. Nicht-entscheidbare Probleme . . . . . . . . . . . . . . . . . . . . 87<br />
4.2.5. Post’sches Korrespondenzproblem . . . . . . . . . . . . . . . . . 88<br />
4.3. Korrektheit von <strong>Algorithmen</strong> . . . . . . . . . . . . . . . . . . . . . . . . 89<br />
4.3.1. Relative Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />
4.3.2. Korrektheit von imperativen <strong>Algorithmen</strong> . . . . . . . . . . . . . 90<br />
6