Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad
Misc
Library
Seminars
Gallery
Links
Search
Webmaster
|
Praktische Informatik 2
| 339.619 |
Mössenböck |
Di 08:30 - 10:00 |
Raum: HS 18 |
Beginn: 5.3.2013 |
In dieser Vorlesung werden die wichtigsten dynamischen Datenstrukturen (Listen, Bäume, Graphen)
und die darauf arbeitenden Algorithmen vermittelt. Das Ziel ist, Studierende im algorithmischen
Denken zu schulen, Verständnis für die Funktionsweise gängiger Bibliotheksklassen zu wecken
sowie weitere Übung im Umgang mit Java zu vermitteln.
Inhalt
-
Dynamische Datenstrukturen
- Klassen als Referenztypen
- Lineare Listen
- Unsortierte Listen
- Sortierte Listen
- Ringlisten
- Doppelt verkettete Listen
- Stacks
- Queues
- Mengen
-
Bäume
- Begriffe
- Binäre Suchbäume
- Balancierte Bäume
- Balancieren binärer Suchbäume
- Topdown-234-Bäume
- Rot-Schwarz-Bäume
- B-Bäume
- Heaps
-
Graphen
- Begriffe
- Depth-First-Search
- Breadth-First-Search
- Kleinster spannender Baum
- Kürzester Pfad
- Transitive Hülle
- Serialisierung von Graphen
-
Hashing
- Hashfunktion
- Kollisionsstrategien
- Überlauflisten (Separate Chaining)
- Lineares Probieren
- Quadratisches Hashen
- Bewertung
-
Stringsuche
- Brute-Force-Algorithmus
- Boyer-Moore-Algorithmus
- Stringvergleich mit Wildcards
- Suchen mit regulären Ausdrücken
-
Höhere Sortieralgorithmen
- Heapsort
- Sortieren linearer Listen
- Externes Sortieren
- Topologisches Sortieren
-
Java-Klassenbibliothek
- Wiederholung: Objektorientierung
- java.lang
- java.util
- java.io
- javax.swing
Skript
Der Großteil der Vorlesung findet unter Benutzung der Tafel statt. Einzelne Kapitel werden auf
Folien präsentiert. Diese Folien sind auf der KUSSS-Seite dieser LVA als PDF-Dokument verfügbar.
Literatur
- Sedgewick R.: Algorithmen in Java. Pearson 2003
Eines der besten Bücher zu diesem Thema. Es deckt ziemlich genau den Inhalt der
Vorlesung ab. Wenn Sie sich daher ein begleitendes Buch kaufen wollen, ist dieses
hier zu empfehlen. Man kann Bücher dieser Art später immer wieder als
Nachschlagewerk brauchen.
- Pomberger, G., Dobler, H.: Algorithmen und Datenstrukturen. Eine systematische Einführung in die Programmierung. Pearson 2008.
Ein sehr gutes Buch, das nicht nur elementare Algorithmen und Datenstrukturen abdeckt, sondern auch Grundlagen der Programmierung.
Die vorgestellten Algorithmen sind in der Algorithmenbeschreibungssprache Adele formuliert.
- Ottman T., Widmayer P.: Algorithmen und Datenstrukturen. 5. Auflage, Spektrum Akademischer Verlag, 2012
Ebenfalls gut zu lesen und auf dem neuesten Stand der Technik.
- Saake, G., Sattler, K.-U.: Algorithmen und Datenstrukturen: Eine Einführung mit Java. 4. Auflage, dpunkt.verlag, 2010
- Cormen, T.H., et al.: Algorithmen - Eine Einführung. Oldenbourg-Verlag, 2010
- Knuth D.E.: The Art of Computer Programming. 2nd edition, Addison-Wesley
Volume 1: Fundamental Algorithms
Volume 2: Seminumerical Algorithms
Volume 3: Sorting and Searching
Das wahrscheinlich vollständigste Werk zum Thema Algorithmen. Da es bereits 1968 erschienen ist, entspricht die verwendete
Notation nicht mehr dem Stand der Technik. Die Breite und der mathematischen Tiefgang sind jedoch bisher unübertroffen.
Dieses Werk kann in der Bibliothek entliehen werden.
|