Main Page: Difference between revisions
From Alda
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 43: | Line 43: | ||
#* selbst-balancierende Bäume, Rotationen | #* selbst-balancierende Bäume, Rotationen | ||
#* Komplexität der Suche | #* Komplexität der Suche | ||
<!-------------> | |||
# [[Prioritätswarteschlangen]] (14.5.2008) | # [[Prioritätswarteschlangen]] (14.5.2008) | ||
#* Heap-Datenstruktur | #* Heap-Datenstruktur | ||
Line 48: | Line 49: | ||
#* Heapsort | #* Heapsort | ||
#* Komplexität des Heaps | #* Komplexität des Heaps | ||
<!-------------> | |||
# [[Dictionaries]] (15.5.2008) | # [[Dictionaries]] (15.5.2008) | ||
#* Implementation mit Bäumen | |||
Hashing | #* Hashing | ||
#* Implementation als Hashtabelle | |||
Iteration | <!-------------> | ||
Typen der Rekursion und ihre Umwandlung in Iteration | # [[Iteration versus Rekursion]] (21.5.2008) | ||
Iteratoren | #* Typen der Rekursion und ihre Umwandlung in Iteration | ||
#* Iteratoren | |||
<!-------------> | |||
Abstrakte Datentypen | # [[Generizität]] (28.und 29.5.2008) | ||
#* Abstrakte Datentypen, Typspezifikation | |||
#* Required Interface versus Offered Interfvace | |||
#* Adapter und Typattribute, Funktoren | |||
Zahlendatentypen | #* Beispiel: Algabraische Konzepte und Zahlendatentypen | ||
#* Operator overloading in Python | |||
Operator | |||
Revision as of 14:59, 5 April 2008
Vorlesung Algorithmen und Datenstrukturen SS 08
Vorläufiger Inhalt der Vorlesungen und Übungen
- Einführung (9.4.2008)
- Organisatorisches: Übungsbetrieb, Scheinbedingungen, Klausurtermin, Gliederung der Vorlesung
- Definition von Algorithmen und Datenstrukturen, Geschichte
- Fundamentale Algorithmen: create, assign, copy, compare etc.
- Fundamentale Datenstrukturen: Zahlen, Container, Handles
- Container (10.4.2008)
- Anforderungen von Algorithmen an Container
- Einteilung der Container
- Grundlegende Container: Array, verkettete Liste, Stack und Queue
- Ranges in Containern
- Sortieren (16. und 17.4.2008)
- Spezifikation des Sortierproblems
- Selection Sort
- Merge Sort
- Quick Sort und seine Varianten
- Vergleich der Anzahl der benötigten Schritte
- Laufzeitmessung in Python
- Korrektheit (23. und 24.4.2008)
- Definition von Korrektheit, Algorithmen-Spezifikation
- Korrektheitsbeweise versus Testen
- Programming by contract, Vor- und Nachbedingungen, Invarianten
- Testen, Execution paths, Unit Tests in Python
- Ausnahmen (exceptions) und Ausnahmebehandlung in Python
- Effizienz (24. und 30.4.2008)
- Laufzeit und Optimierung: Innere Schleife, Caches, locality of reference
- Laufzeit versus Komplexität
- Komplexitätsklassen
- Bester, schlechtester, durchschnittlicher Fall
- Amortisierte Komplexität
- Suchen (7. und 8.5.2008)
- Binäre Suche in sortierten Arrays
- Suchbäume
- balancierte Bäume
- selbst-balancierende Bäume, Rotationen
- Komplexität der Suche
- Prioritätswarteschlangen (14.5.2008)
- Heap-Datenstruktur
- Einfüge- und Löschoperationen
- Heapsort
- Komplexität des Heaps
- Dictionaries (15.5.2008)
- Implementation mit Bäumen
- Hashing
- Implementation als Hashtabelle
- Iteration versus Rekursion (21.5.2008)
- Typen der Rekursion und ihre Umwandlung in Iteration
- Iteratoren
- Generizität (28.und 29.5.2008)
- Abstrakte Datentypen, Typspezifikation
- Required Interface versus Offered Interfvace
- Adapter und Typattribute, Funktoren
- Beispiel: Algabraische Konzepte und Zahlendatentypen
- Operator overloading in Python
Getting started
- Wiki Hilfe (für alle, die Seiten ändern wollen)
- MediaWiki Manual (für Administratoren)
- Sandbox (zum ungefährlichen Ausprobieren von Änderungen)