Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Christian Scheideler WS 2008
Effiziente Algorithmen und Datenstrukturen I Kapitel 0: Organisatorisches Christian Scheideler WS 2008 Kapitel 0
2
Organisatorisches Vorlesung: Di 8:00 – 10:00 MI A Do 8:00 – 10:00 MI A Wahlpflichtvorlesung im Fachgebiet Algorithmen und Wissenschaftliches Rechnen, Bioinformatik Umfang: 4V+2Ü, 8 ECTS-Punkte Übungen: Di 12:00 – 14:00 und Mi 12:00 – 14:00 in MI Übungsleitung: Jonas Pfoh MI Sprechstunde: Mi 16:00 – 17:00 Uhr MI Kapitel 0
3
Organisatorisches Webseite: www14.in.tum.de/lehre/2008WS/ea/ Die Webseite enthält Vorlesungsfolien, Übungsblätter sowie ein vorläufiges Skript. Literatur: Michael T. Goodrich, Roberto Tamassia. Algorithm Design: Foundations, Analysis, and Internet Examples. John Wiley & Sons, Inc., Thomas H. Cormen, Charles E. Leiserson, Ron L. Rivest, Clifford Stein. Introduction to Algorithms. 2. Auflage, The MIT Press, Cambridge, MA, 2001. Kapitel 0
4
Organisatorisches Übungsblätter: Jede Woche ein Übungsblatt. Ausgabe: jeden Donnerstag auf der Kurswebseite Abgabe: jeden Donnerstag bis Kursende Klausuren: Midterm: Mitte Dezember Final: Mitte Februar Endnote: 50% Midterm, 50% Final Kapitel 0
5
Organisatorisches Vorkenntnisse: Einführung in die Informatik
Grundlagen der Algorithmen und Datenstrukturen (GAD) Einführung in die Theoretische Informatik (THEO) Diskrete Strukturen, diskrete Wahrscheinlichkeitstheorie (DS, DWT) Bekannt: Java oder ähnliche Programmiersprache Felder, Listen, Bäume und Graphen (GAD SS 2008) Mathematische Grundlagen (vollst. Induktion) Kapitel 0
6
Organisatorisches Weiterführende Veranstaltungen:
Effiziente Algorithmen und Datenstrukturen II Randomisierte Algorithmen Approximationsalgorithmen Netzwerkalgorithmen Komplexitätstheorie Internetalgorithmik … Kapitel 0
7
Vorlesungsinhalt Grundlagen Wiederholung von GAD
Maschinenmodelle Komplexitätsmaße Pseudocode Höhere Datenstrukturen Priority Queues Suchstrukturen (Arrays und Bäume) Selbstorganisierende Suchstrukturen Wörterbücher (Hashing) Union-Find Datenstrukturen Sortieren und Selektieren (Minimale Spannbäume und kürzeste Wege) Matchings in Graphen Netzwerkfluss Lineare Algebra (Vektor- und Matrixmultiplikation) Generische Optimierungsverfahren Wiederholung von GAD Vertiefung von GAD Sucharrays: speichere Daten mit Lücken in Array, O(log^2 n) amortisierter Aufwand im worst case und O(log n) im average case Hashing: Kuckuckshashing mit Erweiterungen (mit Notfallspeicher und nichtuniformen Daten), konsistentes Hashing und SHARE Selbstorganisierende Strukturen: Erweiterungen durch Albers (MTF) und Splay Bäume Kapitel 0
8
Thema: Algorithmen und Datenstrukturen
Einführung Thema: Algorithmen und Datenstrukturen Was ist ein Algorithmus? Was ist eine Datenstruktur? Muss ich Programme schreiben? Theorie? Kapitel 0
9
Was ist ein Algorithmus?
Definition: Ein Algorithmus ist eine formale Handlungsvorschrift zur Lösung von Instanzen eines Problems in endlich vielen Schritten. Eingabe Algorithmus Ausgabe Kapitel 0
10
Was ist eine Datenstruktur?
Definition: Eine Datenstruktur ist eine Anordnung / Verknüpfung von Daten, um den Zugriff auf diese und ihre Verwaltung geeignet zu ermöglichen. Datenstruktur Operation 1 Operation 2 Operation 3 Kapitel 0
11
Algorithmen und Datenstrukturen
Softwareentwicklung Problem Modellierung Algorithmen und Datenstrukturen Implementierung Kapitel 0
12
Grundsätzliche Probleme
Korrektheit Effizienz Komplexität Robustheit / Sicherheit Kapitel 0
13
Effizienz Wichtig: Laufzeit und Speicheraufwand Warum?
Riesige Datenmengen (Bioinformatik) Realzeitanwendungen (Spiele) Ziel der Vorlesung: Erweiterter Grundstock an effizienten Algorithmen und Datenstrukturen für Standardprobleme Kapitel 0
14
Nächstes Kapitel Grundlagen (Wiederholung aus GAD) Maschinenmodelle
Komplexitätsmaße Pseudocode Kapitel 0
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.