Programmiertechnik II

Werbung
Programmiertechnik II
© 2007 Martin v. Löwis
Themenübersicht
Praktische Informatik
• Algorithmen und Datenstrukturen
–
–
–
–
Implementierung objektorientierter Konzepte
Algorithmische Komplexität
Sortieren und Suchen
Graphen
© 2007 Martin v. Löwis
• Deklarative Programmierung
Programmiertechnik II
2
Implementierung objektorientierter Konzepte
• Implementierungssprache: C
• Objektrepräsentation
– Identität
– Zustand
– Verhalten
• Speicherverwaltung
© 2007 Martin v. Löwis
– Freispeicherverwaltung
– Lebenszeit von Objekten
– automatische Speicherverwaltung
• Spätes Binden
• dynamische Typinformation
Programmiertechnik II
3
Algorithmische Komplexität
© 2007 Martin v. Löwis
•
•
•
•
Algorithmenbegriff
Komplexitätsmaße
asymptotische Komplexität
Messen und Beweisen
Programmiertechnik II
4
© 2007 Martin v. Löwis
Sortieren
•
•
•
•
•
•
•
•
•
Programmiersprache: Java
Typunabhängige Algorithmen
Klassifizierung von Sortieralgorithmen
Selectionsort
Insertionsort
Bubblesort
Quicksort
Mergesort
Heapsort
Programmiertechnik II
5
Suchen
•
•
•
•
Symboltabellen
Sequentielle Suche
Binäre Suche
Bäume
–
–
–
–
binäre Suchbäume
AVL-Bäume
Rot-Schwarz-Bäume
B-Bäume
© 2007 Martin v. Löwis
• Hashing
– Hashfunktionen
– statisches Hashing
– offene Addressierung
Programmiertechnik II
6
Graphen
© 2007 Martin v. Löwis
•
•
•
•
•
Repräsentation
Suche in Graphen
Gerichtete Graphen und Zusammenhang
Minimaler Spannbaum
Travelling Salesman Problem
Programmiertechnik II
7
Deklarative Programmierung
• Prolog
– Fakten
– Regeln
– Anfragen
• Prolog-Maschine
– Unifikation
© 2007 Martin v. Löwis
• Algorithmen in Prolog
Programmiertechnik II
8
Literatur
© 2007 Martin v. Löwis
• N.Wirth: Algorithmen und Datenstrukturen
• R.Sedgewick: Algorithms in Java
• Knuth: The Art of Computer Programming, Vol.. III: Sorting
and Searching
• Cormen, Leiserson, Rivest: Introduction to Algorithms
• Clocksin / Mellish: Programmieren in Prolog
Webseite:
http://www.dcl.hpi.uni-potsdam.de/teaching/pt2/
Programmiertechnik II
9
Übungen
• zweiwöchentliche Abgabe von Lösungen
– alle zwei Wochen findet statt der Vorlesung ein Übungstermin statt
© 2007 Martin v. Löwis
• Aufgaben können in Gruppen von 2-3 Studenten gelöst
werden
• 50% der Punkte sind erforderlich zur Prüfungszulassung
• Abgabe der Lösung über die Webseite
• Realisierung der Aufgaben unter Linux
Programmiertechnik II
10
Herunterladen