SS14 Algorithmen und Datenstrukturen Vorbemerkungen und 1. Kapitel
|
|
- Christoph Lorentz
- vor 6 Jahren
- Abrufe
Transkript
1 SS14 Algorithmen und Datenstrukturen Vorbemerkungen und 1. Kapitel Martin Dietzfelbinger April 2014 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1
2 Team: Vorlesung: Univ.-Prof. Dr. Martin Dietzfelbinger (Sprechstunde: Montag, 16:45 18:00 u. n. Vereinb.) Übungen: Dipl-Inf. Martin Aumüller, Dipl.-Ing. Christopher Mattern Praktika: Dipl.-Ing. Christopher Mattern FG Komplexitätstheorie und Effiziente Algorithmen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 1
3 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
4 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
5 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen und Folienkopien, Übungsblätter FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
6 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen und Folienkopien, Übungsblätter auf der folgenden Webseite: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
7 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen und Folienkopien, Übungsblätter auf der folgenden Webseite: Ebenso: Aktuelle Mitteilungen. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
8 Hörer: Informatikstudierende im 2. Semester. Bis Semestermitte: Studierende der Ing.-Informatik mit AuD als WP-Fach. Ab Semestermitte: Informatikstudierende im 4. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen und Folienkopien, Übungsblätter auf der folgenden Webseite: Ebenso: Aktuelle Mitteilungen. Zugang auch über die FG-Seite. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 2
9 Zur Arbeitsweise: Der Stoff ist zu kompliziert und zu umfangreich, um durch reines Zuhören verstanden zu werden. Regelmäßig Vorlesung nacharbeiten. Semesterbegleitend! Begleitend Bücher ansehen. Übungsblätter drucken, lesen, zur Übung mitbringen, vorher Lösung ausdenken, Lösungsweg aufschreiben, an Lösungen mitarbeiten, Lösungen vortragen. Regelmäßig Übungen nacharbeiten. Semesterbegleitend! Praktikumsaufgaben vorbereiten. Semesterbegleitend! Bei Verständnisproblemen frühzeitig fragen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 3
10 Zeitaufwand? Beispielrechnung FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 4
11 Zeitaufwand? Beispielrechnung Leistungspunkte: 8 LP Entspricht 240 Zeitstunden. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 4
12 Zeitaufwand? Beispielrechnung Leistungspunkte: 8 LP Entspricht 240 Zeitstunden. Vorlesungszeit: 15 Wochen. 12 Stunden pro Woche Davon: 6 in Vorlesung/Übung/Praktikum FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 4
13 Zeitaufwand? Beispielrechnung Leistungspunkte: 8 LP Entspricht 240 Zeitstunden. Vorlesungszeit: 15 Wochen. 12 Stunden pro Woche Davon: 6 in Vorlesung/Übung/Praktikum Zeitaufwand: 6 7 Zeitstunden pro Woche neben Vorlesung/Übung! ergibt: Stunden plus Stunden Prüfungsvorbereitung! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 4
14 Vorlesung Montag 13:00 14:30 Hu-Hs Donnerstag 13:00 14:30 Hu-Hs FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 5
15 Übung Montag 19:00 20:30 Sr HU 011 Dienstag 17:00 18:30 Sr HU 010 Mittwoch 09:00 10:30 Sr H 1519 Freitag 09:00 10:30 Sr HU 129 Der Übungsbetrieb läuft ab KW 15, also ab 7.4. Übungsblätter stehen im Netz. Übung vor- und nachbereiten! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 6
16 Praktikum Freitag, 13:00 14:30, U-Wochen, Sr K-Hs 2 Live -Programmierung in C++: Implementierung und Zeitmessung (hauptsächlich) zu Algorithmen aus der Vorlesung. Praktikumsanleitungen stehen im Netz. Abschluss: Implementierung eines Algorithmus in 3er-/4er-Gruppen, Details: Semestermitte. Hier: Implementierung = Quellcodegerüst vervollständigen. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 7
17 Prüfungsstoff: Vorlesung + Übungsaufgaben. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
18 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
19 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). 150 Punkte. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
20 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). 150 Punkte. max. 20 Bonuspunkte über Zwischenklausur (40 Minuten). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
21 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). 150 Punkte. max. 20 Bonuspunkte über Zwischenklausur (40 Minuten). bzw. 90 Minuten (Informatik und Ing.-Informatik, höhere Semester). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
22 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). 150 Punkte. max. 20 Bonuspunkte über Zwischenklausur (40 Minuten). bzw. 90 Minuten (Informatik und Ing.-Informatik, höhere Semester). 90 Punkte. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
23 Prüfungsstoff: Vorlesung + Übungsaufgaben. Prüfung: 150 Minuten (Informatik, 2. Semester). 150 Punkte. max. 20 Bonuspunkte über Zwischenklausur (40 Minuten). bzw. 90 Minuten (Informatik und Ing.-Informatik, höhere Semester). 90 Punkte. max. 15 Bonuspunkte über Zwischenklausur (40 Minuten). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 8
24 Grundlagen, Voraussetzungen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 9
25 Grundlagen, Voraussetzungen Prof. G. Schäfer, Algorithmen und Programmierung für Informatiker, WS 2013/14 algorithmen-und-programmierung-fuer-ingenieur-informatiker/ Wird vorausgesetzt! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 9
26 Grundlagen, Voraussetzungen Prof. G. Schäfer, Algorithmen und Programmierung für Informatiker, WS 2013/14 algorithmen-und-programmierung-fuer-ingenieur-informatiker/ Wird vorausgesetzt! G. Saake, K. U. Sattler. Algorithmen und Datenstrukturen Eine Einführung mit Java. dpunkt.verlag, 4. Auflage, FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 9
27 Grundlagen, Voraussetzungen Prof. G. Schäfer, Algorithmen und Programmierung für Informatiker, WS 2013/14 algorithmen-und-programmierung-fuer-ingenieur-informatiker/ Wird vorausgesetzt! G. Saake, K. U. Sattler. Algorithmen und Datenstrukturen Eine Einführung mit Java. dpunkt.verlag, 4. Auflage, Prof. M. Kriesell: Grundlagen und Diskrete Strukturen, Vorlesung, WS 2013/14 Wird vorausgesetzt! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel 0+1 9
28 Literaturvorschläge: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009 (Deutsche Ausgabe bei Oldenbourg) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
29 Literaturvorschläge: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009 (Deutsche Ausgabe bei Oldenbourg) T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, 5. Aufl., Spektrum Akademischer Verlag, 2012 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
30 Literaturvorschläge: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009 (Deutsche Ausgabe bei Oldenbourg) T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, 5. Aufl., Spektrum Akademischer Verlag, 2012 K. Mehlhorn, P. Sanders, Algorithms and Data Structures The Basic Toolbox, Springer-Verlag, 2008 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
31 Literaturvorschläge: T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009 (Deutsche Ausgabe bei Oldenbourg) T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, 5. Aufl., Spektrum Akademischer Verlag, 2012 K. Mehlhorn, P. Sanders, Algorithms and Data Structures The Basic Toolbox, Springer-Verlag, 2008 (Deutsche Ausgabe erscheint Juli 2014, s. Ansage in Vorlesung) R. Sedgewick and K. Wayne, Algorithms, 4th ed., Addison-Wesley, 2011 (auch C-, C++, Java-Versionen, auch auf deutsch bei Pearson) (Part 5: Graph Algorithms, Addison-Wesley, 2003: separat). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
32 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
33 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
34 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003 Springer-Verlag, 2008 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
35 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003 Springer-Verlag, 2008 S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, McGraw-Hill, 2007 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
36 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003 Springer-Verlag, 2008 S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, McGraw-Hill, 2007 J. Kleinberg, E. Tardos, Algorithm Design, Pearson Education, 2005 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
37 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003 Springer-Verlag, 2008 S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, McGraw-Hill, 2007 J. Kleinberg, E. Tardos, Algorithm Design, Pearson Education, 2005 U. Schöning, Algorithmik, Spektrum Akademischer Verlag, 2001 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
38 Literaturvorschläge (Forts.): R. H. Güting, S. Dieker, Datenstrukturen und Algorithmen, 3. Auflage, Vieweg+Teubner 2004 (einführend) K. Weicker, N. Weicker, Algorithmen und Datenstrukturen, Springer Vieweg 2013 (einführend) V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003 Springer-Verlag, 2008 S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, McGraw-Hill, 2007 J. Kleinberg, E. Tardos, Algorithm Design, Pearson Education, 2005 U. Schöning, Algorithmik, Spektrum Akademischer Verlag, 2001 Vorlesung folgt eigenem Plan, nicht direkt einem Buch. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
39 Kapitel 1 Einführung und Grundlagen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
40 Datenstrukturen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
41 Listen, Stacks, Queues Datenstrukturen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
42 Listen, Stacks, Queues Einfache Suchbäume Datenstrukturen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
43 Listen, Stacks, Queues Einfache Suchbäume Balancierte Suchbäume Datenstrukturen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
44 Datenstrukturen! Listen, Stacks, Queues Einfache Suchbäume Balancierte Suchbäume Hashtabellen, implementieren Wörterbücher FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
45 Datenstrukturen! Listen, Stacks, Queues Einfache Suchbäume Balancierte Suchbäume Hashtabellen, implementieren Wörterbücher Heaps, implementieren Prioritätswarteschlangen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
46 Datenstrukturen! Listen, Stacks, Queues Einfache Suchbäume Balancierte Suchbäume Hashtabellen, implementieren Wörterbücher Heaps, implementieren Prioritätswarteschlangen Datenstrukturen für Graphen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
47 Spezifikation des Verhaltens von Datenstrukturen (vereinfacht) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
48 Spezifikation des Verhaltens von Datenstrukturen (vereinfacht): (Abstrakte) Datentypen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
49 Spezifikation des Verhaltens von Datenstrukturen (vereinfacht): (Abstrakte) Datentypen Syntax: Signatur Semantik: Mathematisches Modell FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
50 Spezifikation des Verhaltens von Datenstrukturen (vereinfacht): (Abstrakte) Datentypen Syntax: Signatur Semantik: Mathematisches Modell (Axiomatische Variante in AuP angesprochen.) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
51 Algorithmen! FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
52 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
53 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
54 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen oder von Objekten aus einem total geordneten Bereich (U, <) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
55 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen oder von Objekten aus einem total geordneten Bereich (U, <) z.b.: Zahlentupel, Strings (Zeichenreihen), mit Namen versehene Datensätze, usw. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
56 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen oder von Objekten aus einem total geordneten Bereich (U, <) z.b.: Zahlentupel, Strings (Zeichenreihen), mit Namen versehene Datensätze, usw. sortiere (a 1, a 2,..., a n ) in aufsteigende Reihenfolge. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
57 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen oder von Objekten aus einem total geordneten Bereich (U, <) z.b.: Zahlentupel, Strings (Zeichenreihen), mit Namen versehene Datensätze, usw. sortiere (a 1, a 2,..., a n ) in aufsteigende Reihenfolge. Vorher: (Eve, Bob, Fran, Al) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
58 Algorithmen! Aufgabe: Für jede beliebige gegebene Folge (a 1, a 2,..., a n ) von natürlichen / ganzen / reellen Zahlen oder von Objekten aus einem total geordneten Bereich (U, <) z.b.: Zahlentupel, Strings (Zeichenreihen), mit Namen versehene Datensätze, usw. sortiere (a 1, a 2,..., a n ) in aufsteigende Reihenfolge. Vorher: (Eve, Bob, Fran, Al), nachher: (Al, Bob, Eve, Fran) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
59 Sortieren durch Einfügen (Insertion Sort) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
60 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
61 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
62 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
63 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: Suche die Stelle in der sortierten Version von a 1,..., a i 1, an die a i gehört, FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
64 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: Suche die Stelle in der sortierten Version von a 1,..., a i 1, an die a i gehört, und füge a i dort ein. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
65 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: Suche die Stelle in der sortierten Version von a 1,..., a i 1, an die a i gehört, und füge a i dort ein. Pseudocode: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
66 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: Suche die Stelle in der sortierten Version von a 1,..., a i 1, an die a i gehört, und füge a i dort ein. Pseudocode: Algorithmus Straight Insertion Sort FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
67 Sortieren durch Einfügen (Insertion Sort) Eingabe (a 1,..., a n ) in Array (Feld) A[1..n] Idee: Für i = 2, 3,..., n: Suche die Stelle in der sortierten Version von a 1,..., a i 1, an die a i gehört, und füge a i dort ein. Pseudocode: Algorithmus Straight Insertion Sort (1) for i from 2 to n do (2) x A[i] ; (3) j i-1 ; (4) while j 1 and x.key < A[j].key do (5) A[j+1] A[j] ; (6) j j-1 ; (7) A[j+1] x. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
68 Was ist ein Algorithmus? Erklärung: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
69 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
70 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
71 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
72 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x aus einer Menge I (Menge der möglichen Eingaben) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
73 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x aus einer Menge I (Menge der möglichen Eingaben) eindeutig eine Reihe von auszuführenden Schritten vorschreibt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
74 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x aus einer Menge I (Menge der möglichen Eingaben) eindeutig eine Reihe von auszuführenden Schritten vorschreibt. Wenn nach endlich vielen Schritten diese Ausführung anhält, FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
75 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x aus einer Menge I (Menge der möglichen Eingaben) eindeutig eine Reihe von auszuführenden Schritten vorschreibt. Wenn nach endlich vielen Schritten diese Ausführung anhält, wird ein Ergebnis A(x) ausgegeben. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
76 Was ist ein Algorithmus? Erklärung: Ein Algorithmus A ist eine durch einen endlichen Text gegebene Verarbeitungsvorschrift, die zu jeder gegebenen Eingabe x aus einer Menge I (Menge der möglichen Eingaben) eindeutig eine Reihe von auszuführenden Schritten vorschreibt. Wenn nach endlich vielen Schritten diese Ausführung anhält, wird ein Ergebnis A(x) ausgegeben. Mögliche Formen: Umgangssprache, Pseudocode, Programm in Programmiersprache, Programm für formales Maschinenmodell, Programm in Maschinensprache. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
77 Allgemeine Merkmale eines Algorithmus FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
78 Allgemeine Merkmale eines Algorithmus Endlicher Text FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
79 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
80 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x (Beachte: Zeitliche Trennung der Formulierung des Algorithmus/der Programmierung und der Anwendung auf eine Eingabe.) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
81 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x (Beachte: Zeitliche Trennung der Formulierung des Algorithmus/der Programmierung und der Anwendung auf eine Eingabe.) Eindeutig vorgeschriebene Abfolge von Schritten, wenn Eingabe x vorliegt FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
82 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x (Beachte: Zeitliche Trennung der Formulierung des Algorithmus/der Programmierung und der Anwendung auf eine Eingabe.) Eindeutig vorgeschriebene Abfolge von Schritten, wenn Eingabe x vorliegt Wenn Verarbeitung anhält: Ausgabe ablesbar FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
83 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x (Beachte: Zeitliche Trennung der Formulierung des Algorithmus/der Programmierung und der Anwendung auf eine Eingabe.) Eindeutig vorgeschriebene Abfolge von Schritten, wenn Eingabe x vorliegt Wenn Verarbeitung anhält: Ausgabe ablesbar Nicht verlangt: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
84 Allgemeine Merkmale eines Algorithmus Endlicher Text Ein Algorithmus für eine große (oft: unendliche!) Menge von Eingaben x (Beachte: Zeitliche Trennung der Formulierung des Algorithmus/der Programmierung und der Anwendung auf eine Eingabe.) Eindeutig vorgeschriebene Abfolge von Schritten, wenn Eingabe x vorliegt Wenn Verarbeitung anhält: Ausgabe ablesbar Nicht verlangt: Terminierung auf allen x I. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
85 Erweiterungen des Algorithmusbegriffs FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
86 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
87 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt Häufige Situation bei Datenstrukturen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
88 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt Häufige Situation bei Datenstrukturen Standard bei Betriebssystemen, Systemprogrammen, Anwendungsprogrammen mit Benutzerdialog usw. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
89 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt Häufige Situation bei Datenstrukturen Standard bei Betriebssystemen, Systemprogrammen, Anwendungsprogrammen mit Benutzerdialog usw. Randomisierung: Algorithmus führt Zufallsexperimente durch FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
90 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt Häufige Situation bei Datenstrukturen Standard bei Betriebssystemen, Systemprogrammen, Anwendungsprogrammen mit Benutzerdialog usw. Randomisierung: Algorithmus führt Zufallsexperimente durch Verteilte Algorithmen : Mehrere Rechner arbeiten zusammen, kommunizieren, zeitliche Abfolge nicht vorhersagbar FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
91 Erweiterungen des Algorithmusbegriffs Online-Algorithmen: Die Eingabe wird nicht am Anfang der Berechnung, sondern nach und nach zur Verfügung gestellt Häufige Situation bei Datenstrukturen Standard bei Betriebssystemen, Systemprogrammen, Anwendungsprogrammen mit Benutzerdialog usw. Randomisierung: Algorithmus führt Zufallsexperimente durch Verteilte Algorithmen : Mehrere Rechner arbeiten zusammen, kommunizieren, zeitliche Abfolge nicht vorhersagbar in dieser Vorlesung nicht oder nur am Rande diskutiert FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
92 Algorithmen im 1. Teil dieser Vorlesung: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
93 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
94 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
95 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
96 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
97 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen Balancierte Suchbäume, einfache Hashverfahren FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
98 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen Balancierte Suchbäume, einfache Hashverfahren Sortierverfahren: Quicksort, Heapsort, Mergesort, CountingSort FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
99 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen Balancierte Suchbäume, einfache Hashverfahren Sortierverfahren: Quicksort, Heapsort, Mergesort, CountingSort Datenstrukturen für Graphen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
100 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen Balancierte Suchbäume, einfache Hashverfahren Sortierverfahren: Quicksort, Heapsort, Mergesort, CountingSort Datenstrukturen für Graphen Grundlegende Exploration von Graphen: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
101 Algorithmen im 1. Teil dieser Vorlesung: Darstellung von Algorithmen, Bausteine für Algorithmen (besonders Iteration, Rekursion) Analyse 1: Korrektheit von Algorithmen, Induktionsbeweise für iterative und rekursive Verfahren Analyse 2: Laufzeitbegriff, O-Notation, Laufzeitanalyse Algorithmen zur Implementierung von Datentypen Balancierte Suchbäume, einfache Hashverfahren Sortierverfahren: Quicksort, Heapsort, Mergesort, CountingSort Datenstrukturen für Graphen Grundlegende Exploration von Graphen: Breitensuche FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
102 Algorithmus Straight Insertion Sort (Pseudocode) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
103 Algorithmus Straight Insertion Sort (Pseudocode) (1) for i from 2 to n do (2) x A[i] ; (3) j i-1 ; (4) while j 1 and x.key < A[j].key do (5) A[j+1] A[j] ; (6) j j-1 ; (7) A[j+1] x. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
104 Algorithmus Straight Insertion Sort (Pseudocode) (1) for i from 2 to n do (2) x A[i] ; (3) j i-1 ; (4) while j 1 and x.key < A[j].key do (5) A[j+1] A[j] ; (6) j j-1 ; (7) A[j+1] x. Fragen: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
105 Algorithmus Straight Insertion Sort (Pseudocode) (1) for i from 2 to n do (2) x A[i] ; (3) j i-1 ; (4) while j 1 and x.key < A[j].key do (5) A[j+1] A[j] ; (6) j j-1 ; (7) A[j+1] x. Fragen: (a) Ist dieser Algorithmus korrekt? FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
106 Algorithmus Straight Insertion Sort (Pseudocode) (1) for i from 2 to n do (2) x A[i] ; (3) j i-1 ; (4) while j 1 and x.key < A[j].key do (5) A[j+1] A[j] ; (6) j j-1 ; (7) A[j+1] x. Fragen: (a) Ist dieser Algorithmus korrekt? (b) Wie lange braucht der Algorithmus, um die Berechnung zu beenden? FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
107 (a) Korrektheitsbeweise Damit die Frage nach einem Beweis der Korrektheit sinnvoll ist, müssen wir die zu lösende Aufgabe zunächst spezifizieren. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
108 (a) Korrektheitsbeweise Damit die Frage nach einem Beweis der Korrektheit sinnvoll ist, müssen wir die zu lösende Aufgabe zunächst spezifizieren. Bemerkung: Aus einer vagen Problemstellung eine präzise Spezifikation des zu lösenden Problems zu gewinnen ist ein in der Praxis extrem wichtiger Schritt, dessen Bedeutung oft unterschätzt wird. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
109 Berechnungsprobleme FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
110 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
111 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
112 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) (I kann unendlich sein!) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
113 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) (I kann unendlich sein!) (ii) einer Menge O von möglichen Ausgaben FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
114 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) (I kann unendlich sein!) (ii) einer Menge O von möglichen Ausgaben (iii) einer Funktion f : I O FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
115 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) (I kann unendlich sein!) (ii) (iii) einer Menge O von möglichen Ausgaben einer Funktion f : I O Ein Algorithmus A löst P, wenn A genau die Eingaben aus I verarbeitet und zu Eingabe x I Ausgabe A(x) = f(x) liefert. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
116 Berechnungsprobleme Erklärung: Ein Berechnungsproblem P besteht aus (i) einer Menge I von möglichen Eingaben ( Inputs, Instanzen ) (I kann unendlich sein!) (ii) (iii) einer Menge O von möglichen Ausgaben einer Funktion f : I O Ein Algorithmus A löst P, wenn A genau die Eingaben aus I verarbeitet und zu Eingabe x I Ausgabe A(x) = f(x) liefert. Spezialfall O = {1, 0} = {true, false} = {Ja, Nein} (Entscheidungsproblem) FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
117 Varianten FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
118 Varianten Zu einer Eingabe x I gibt es mehrere legale Ergebnisse. Formal: In (iii) haben wir statt einer Funktion f eine Relation R I O mit: x I y O : R(x, y). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
119 Varianten Zu einer Eingabe x I gibt es mehrere legale Ergebnisse. Formal: In (iii) haben wir statt einer Funktion f eine Relation R I O mit: x I y O : R(x, y). A löst P, wenn A genau die Eingaben aus I verarbeitet und R(x, A(x)) für jedes x I gilt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
120 Varianten Zu einer Eingabe x I gibt es mehrere legale Ergebnisse. Formal: In (iii) haben wir statt einer Funktion f eine Relation R I O mit: x I y O : R(x, y). A löst P, wenn A genau die Eingaben aus I verarbeitet und R(x, A(x)) für jedes x I gilt. Beispiel: Beim Sortieren von Datensätzen (k i, d ki ), wobei ein Schlüssel k wiederholt als k i vorkommen darf, kann jede sortierte Anordnung eine legale Lösung sein. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
121 Varianten Zu einer Eingabe x I gibt es mehrere legale Ergebnisse. Formal: In (iii) haben wir statt einer Funktion f eine Relation R I O mit: x I y O : R(x, y). A löst P, wenn A genau die Eingaben aus I verarbeitet und R(x, A(x)) für jedes x I gilt. Beispiel: Beim Sortieren von Datensätzen (k i, d ki ), wobei ein Schlüssel k wiederholt als k i vorkommen darf, kann jede sortierte Anordnung eine legale Lösung sein. Online-Situation: Eingabe wird in Raten geliefert, Zwischenausgaben werden verlangt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
122 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
123 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
124 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). Beispiele: Zahlenmengen {1,..., n}, N, Z, Q; Mengen von Strings. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
125 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). Beispiele: Zahlenmengen {1,..., n}, N, Z, Q; Mengen von Strings. D: Eine Menge (von Datensätzen ). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
126 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). Beispiele: Zahlenmengen {1,..., n}, N, Z, Q; Mengen von Strings. D: Eine Menge (von Datensätzen ). Jeder Datensatz a hat einen Sortierschlüssel : key: D U. I = O = Seq(D) = D < = n 0 Dn FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
127 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). Beispiele: Zahlenmengen {1,..., n}, N, Z, Q; Mengen von Strings. D: Eine Menge (von Datensätzen ). Jeder Datensatz a hat einen Sortierschlüssel : key: D U. I = O = Seq(D) = D < = n 0 Dn = {(a 1..., a n ) n N, a 1,..., a n D}, FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
128 Spezifikation des Sortierproblems Parameter: Der Grundbereich, aus dem die zu sortierenden Objekte stammen, ist ein Parameter der Spezifikation. (U, <): eine total geordnete Menge (endlich oder unendlich). Beispiele: Zahlenmengen {1,..., n}, N, Z, Q; Mengen von Strings. D: Eine Menge (von Datensätzen ). Jeder Datensatz a hat einen Sortierschlüssel : key: D U. I = O = Seq(D) = D < = n 0 Dn = {(a 1..., a n ) n N, a 1,..., a n D}, die Menge aller endlichen Folgen von Datensätzen. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
129 Beispiel: U = N, D = N {a,..., z} key : D (i, b) i U FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
130 Beispiel: U = N, D = N {a,..., z} key : D (i, b) i U Ein möglicher Input: x = ((5, r), (3, s), (11, t), (6, e), (9, r), (5, t), (4, o), (5, i)). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
131 Beispiel: U = N, D = N {a,..., z} key : D (i, b) i U Ein möglicher Input: x = ((5, r), (3, s), (11, t), (6, e), (9, r), (5, t), (4, o), (5, i)). Das Ergebnis beim Sortieren sollte z. B. sein: y = ((3, s), (4, o), (5, r), (5, t), (5, i), (6, e), (9, r), (11, t)). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
132 x = (a 1,..., a n ) I und y = (b 1,..., b m ) O stehen in der Relation R FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
133 x = (a 1,..., a n ) I und y = (b 1,..., b m ) O stehen in der Relation R n = m FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
134 x = (a 1,..., a n ) I und y = (b 1,..., b m ) O stehen in der Relation R n = m und es gibt eine Permutation π von {1,..., n} FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
135 x = (a 1,..., a n ) I und y = (b 1,..., b m ) O stehen in der Relation R n = m und es gibt eine Permutation π von {1,..., n} mit b i = a π(i), 1 i n, und key(b 1 ) key(b 2 ) key(b n ). FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
136 x = (a 1,..., a n ) I und y = (b 1,..., b m ) O stehen in der Relation R n = m und es gibt eine Permutation π von {1,..., n} mit b i = a π(i), 1 i n, und key(b 1 ) key(b 2 ) key(b n ). Beispiel: Für x = ((5, r), (3, s), (11, t), (6, e), (9, r), (5, t), (4, o), (5, i)) und y = ((3, s), (4, o), (5, r), (5, t), (5, i), (6, e), (9, r), (11, t)) wäre ( ) π = passend. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
137 Alternative Formulierung für die Spezifikation einer Lösung des Sortierproblems: O = {π π Permutation einer Menge {1,..., n}, n N} FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
138 Alternative Formulierung für die Spezifikation einer Lösung des Sortierproblems: O = {π π Permutation einer Menge {1,..., n}, n N} Definition: x = (a 1,..., a n ) wird durch π sortiert, wenn key(a π(1) ) key(a π(2) ) key(a π(n) ) gilt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
139 Alternative Formulierung für die Spezifikation einer Lösung des Sortierproblems: O = {π π Permutation einer Menge {1,..., n}, n N} Definition: x = (a 1,..., a n ) wird durch π sortiert, wenn key(a π(1) ) key(a π(2) ) key(a π(n) ) gilt. x = (a 1,..., a n ) und π stehen in der Relation R, FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
140 Alternative Formulierung für die Spezifikation einer Lösung des Sortierproblems: O = {π π Permutation einer Menge {1,..., n}, n N} Definition: x = (a 1,..., a n ) wird durch π sortiert, wenn key(a π(1) ) key(a π(2) ) key(a π(n) ) gilt. x = (a 1,..., a n ) und π stehen in der Relation R, wenn x durch π sortiert wird. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
141 Löst Straight Insertion Sort das Sortierproblem? Gilt für jede Eingabe (a 1,..., a n ) in A[1..n], dass nachher dieselben Elemente im Array stehen, aber nach Schlüsseln aufsteigend sortiert? FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
142 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
143 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: (IB i ) Nach Durchlauf Nummer i (in i) der äußeren Schleife FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
144 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: (IB i ) Nach Durchlauf Nummer i (in i) der äußeren Schleife stehen in A[1..i] dieselben Elemente wie vorher, aber aufsteigend sortiert. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
145 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: (IB i ) Nach Durchlauf Nummer i (in i) der äußeren Schleife stehen in A[1..i] dieselben Elemente wie vorher, aber aufsteigend sortiert. I.A.: i = 1: Nach Durchlauf für i = 1 ist vor Beginn. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
146 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: (IB i ) Nach Durchlauf Nummer i (in i) der äußeren Schleife stehen in A[1..i] dieselben Elemente wie vorher, aber aufsteigend sortiert. I.A.: i = 1: Nach Durchlauf für i = 1 ist vor Beginn. Anfangs ist das Teilarray A[1..1] (nur ein Eintrag) sortiert. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
147 Korrektheitsbeweis an Beispiel: Durch vollständige Induktion über i = 1, 2,..., n zeigt man die folgende Behauptung: (IB i ) Nach Durchlauf Nummer i (in i) der äußeren Schleife stehen in A[1..i] dieselben Elemente wie vorher, aber aufsteigend sortiert. I.A.: i = 1: Nach Durchlauf für i = 1 ist vor Beginn. Anfangs ist das Teilarray A[1..1] (nur ein Eintrag) sortiert. I.V.: (IB i 1 ) gilt, d. h.a[1..i 1] ist sortiert, und Schleifendurchlauf i beginnt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
148 Ind.-Schritt: Betrachte Schleifendurchlauf i. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
149 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
150 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. Dann ist key(a[j]) key(a[i]) für 1 j k. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
151 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. Dann ist key(a[j]) key(a[i]) für 1 j k. Die innere Schleife (2) (7) verschiebt die Einträge A[i 1],A[i 2],...,A[k + 1] nacheinander um eine Position nach rechts FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
152 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. Dann ist key(a[j]) key(a[i]) für 1 j k. Die innere Schleife (2) (7) verschiebt die Einträge A[i 1],A[i 2],...,A[k + 1] nacheinander um eine Position nach rechts und schreibt x = A[i] (via x) an die Stelle A[k + 1]. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
153 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. Dann ist key(a[j]) key(a[i]) für 1 j k. Die innere Schleife (2) (7) verschiebt die Einträge A[i 1],A[i 2],...,A[k + 1] nacheinander um eine Position nach rechts und schreibt x = A[i] (via x) an die Stelle A[k + 1]. Ind.-Beh. (IB i ) erfüllt. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
154 Ind.-Schritt: Betrachte Schleifendurchlauf i. Sei k die kleinste Zahl in {0,..., i 1}, so dass key(a[j]) > key(a[i]) für k < j < i. Dann ist key(a[j]) key(a[i]) für 1 j k. Die innere Schleife (2) (7) verschiebt die Einträge A[i 1],A[i 2],...,A[k + 1] nacheinander um eine Position nach rechts und schreibt x = A[i] (via x) an die Stelle A[k + 1]. Ind.-Beh. (IB i ) erfüllt. Also gilt (IB n ), also ist nach Abschluss des Ablaufs das Array sortiert. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
155 Methoden für Korrektheitsbeweise FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
156 Methoden für Korrektheitsbeweise Diskrete Mathematik FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
157 Methoden für Korrektheitsbeweise Diskrete Mathematik Vollständige Induktion FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
158 Methoden für Korrektheitsbeweise Diskrete Mathematik Vollständige Induktion Schleifen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
159 Methoden für Korrektheitsbeweise Diskrete Mathematik Vollständige Induktion Schleifen Wesentlich: Formulierung der Induktionsbehauptung. Schleifeninvariante. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
160 Methoden für Korrektheitsbeweise Diskrete Mathematik Vollständige Induktion Schleifen Wesentlich: Formulierung der Induktionsbehauptung. Schleifeninvariante. Andere Formen der Induktion FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
161 Methoden für Korrektheitsbeweise Diskrete Mathematik Vollständige Induktion Schleifen Wesentlich: Formulierung der Induktionsbehauptung. Schleifeninvariante. Andere Formen der Induktion Rekursive Prozeduren FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
162 (b) Laufzeitanalysen FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
163 (b) Laufzeitanalysen Kosten, Aufwand, Eingabe x abläuft. Rechenzeit, wenn Algorithmus A auf FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
164 Kosten, Aufwand, Eingabe x abläuft. (b) Laufzeitanalysen Eingabegröße: n = x = size(x). Rechenzeit, wenn Algorithmus A auf FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
165 Kosten, Aufwand, Eingabe x abläuft. (b) Laufzeitanalysen Rechenzeit, wenn Algorithmus A auf Eingabegröße: n = x = size(x). (Bedeutung ist abhängig von Problem P.) I n = {x I size(x) = n} FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
166 Kosten, Aufwand, Eingabe x abläuft. (b) Laufzeitanalysen Rechenzeit, wenn Algorithmus A auf Eingabegröße: n = x = size(x). (Bedeutung ist abhängig von Problem P.) I n = {x I size(x) = n} Größenklasse FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
167 Kosten, Aufwand, Eingabe x abläuft. (b) Laufzeitanalysen Rechenzeit, wenn Algorithmus A auf Eingabegröße: n = x = size(x). (Bedeutung ist abhängig von Problem P.) I n = {x I size(x) = n} Größenklasse Beim Sortierproblem: size((a 1,..., a n )) = n. FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS14 Kapitel
Algorithmen und Datenstrukturen 1. Vorlesung
Algorithmen und Datenstrukturen 1. Vorlesung Martin Dietzfelbinger 7. April 2008 FG KTuEA, TU Ilmenau AuD 07.04.2008 Hörer: Informatikstudierende im 2. Semester, Ingenieurinformatik im 4. Semester. Andere
MehrSS10 Algorithmen und Datenstrukturen Vorbemerkungen und 1. Kapitel
SS10 Algorithmen und Datenstrukturen Vorbemerkungen und 1. Kapitel Martin Dietzfelbinger April 2010 Hörer: Informatikstudierende im 2. Semester. Andere Interessenten sehr willkommen! Material: Eigene Notizen!
MehrAlgorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315
Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/
MehrEffiziente Algorithmen
Effiziente Algorithmen Vorüberlegungen und Divide-and-Conquer-Algorithmen Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April 2012 FG KTuEA, TU Ilmenau Effiziente Algorithmen
MehrAlgorithmentheorie 1. Vorlesung
Algorithmentheorie 1. Vorlesung Martin Dietzfelbinger 6. April 2006 FG KTuEA, TU Ilmenau AT 06.04.2006 Methode, Material Vorlesung Vorlesungsskript (Netz, Copyshop) Folien (im Netz) Vorlesung nachbereiten!
MehrAlgorithmentheorie 1. Vorlesung
Algorithmentheorie. Vorlesung Martin Dietzfelbinger 6. April 2006 Methode, Material Vorlesung Vorlesungsskript (Netz, Copyshop) Folien (im Netz) Vorlesung nachbereiten! Übung Übungsblätter (im Netz) Übung
MehrAlgorithmen und Datenstrukturen SS09
Foliensatz 1 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 Einiges Vorweg Organisatorisches Hörer: Vorlesung: Übungen: Homepage: Prüfungsstoff:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrAlgorithmen & Datenstrukturen
Algorithmen & Datenstrukturen Prof. Dr. Gerd Stumme Universität Kassel FB Elektrotechnik/Informatik FG Wissensverarbeitung Sommersemester 2009 Ziele der Veranstaltung 1 Kennenlernen grundlegender Algorithmen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
MehrAlgorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor
Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00
MehrNAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
MehrKlausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min
TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen
MehrADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
ADS 1. Vorlesung Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm 6.10.2016 ORGANISATORISCHES Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm Der Dozent 2 Prof. Dr. Wolfgang Schramm
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A1. Organisatorisches Marcel Lüthi and Gabriele Röger Universität Basel 28. Februar 2018 Organisatorisches Personen: Dozenten Marcel Lüthi Gabriele Röger Dozenten Dr. Marcel
MehrInformatikgrundlagen (WS 2016/2017)
Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrDatenstrukturen, Algorithmen und Programmierung 2
Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1. VO SS 2008 8. April 2008 Petra Mutzel Kurzvorstellung
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
MehrAlgorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert
Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 10:30-12:00 Raum 1200 (Vorlesung) Do 8:15-9:45 Raum 1200 (Vorlesung)
MehrAlgorithmen und Datenstrukturen
Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2013/14 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmiertutorium: Alexander Wolff (E29) Krzysztof Fleszar (E13)
MehrKapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej
MehrInhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe
Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A3. Sortieren: Selection- und Insertionsort Marcel Lüthi and Gabriele Röger Universität Basel 1. März 2018 Sortieralgorithmen Inhalt dieser Veranstaltung A&D Sortieren Komplexitätsanalyse
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 15 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 16 Untere Schranken für das Vergleichsbasierte Sortieren TU
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrPraktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit
Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Team A blau Martin Herfurth 11043831 Markus Wagner 11043447 5. Februar 2007 1 1 Untere Schranke für Vergleichsbasierte Algorithmen
MehrInformatikgrundlagen (WS 2015/2016)
Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrAlgorithmen und Datenstrukturen Sommersemester 2007
Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /
MehrVorlesung Programmieren
Vorlesung Programmieren Organisation Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Ziele dieser Veranstaltung Ziel: Wissen, wie man Computerprogramme
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrRobert Sedgewick. Algorithmen in Java. Teil 1-4 Grundlagen Datenstrukturen Sortieren Suchen. Java-Beratung durch Michael Schidlowsky
Robert Sedgewick Algorithmen in Java Teil 1-4 Grundlagen Datenstrukturen Sortieren Suchen Java-Beratung durch Michael Schidlowsky 3., überarbeitete Auflage \ PEARSON ein Imprint von Pearson Education München
MehrElementare Sortierverfahren
Algorithmen und Datenstrukturen I Elementare Sortierverfahren Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 18:16 Inhaltsverzeichnis Sortieren.......................................
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de 4. Sortierverfahren Elementare Sortierverfahren - Sortieren durch
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Vorstellen des vierten Übungsblatts 2. Vorbereitende Aufgaben für das vierte Übungsblatt
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrAufgabe 8. 1 Arbeitsweise illustrieren. 2 Korrektheitsbeweis führen. 3 Laufzeitanalyse durchführen.
Aufgabe 8 Betrachten Sie den folgenden Algorithmus namens Bubble-Sort. Bubble-Sort(A[1..n]): 1 for i 1 to length(a) 1 2 do for j length(a) downto i + 1 3 do if A[j 1] > A[j] 4 then A[j 1] A[j] 1 Arbeitsweise
MehrRobert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky
Robert Sedgewick Algorithmen in Java»il 1-4 Grundlagen Datenstrykturen Sortleren Suchen java-beratung durch Michael Schidlowsky 3., überarbeitete Auflage PEARSON ein Imprint von Pearson Education München
MehrModul Algorithmik, T-Katalog
Modul Algorithmik, T-Katalog Sommersemester 2017 Steffen Lange 1/1, Folie 1 2017 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches u Vorlesung Folien im Netz u Übung eine Übung alle 14 Tage
MehrDatenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange
Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung
Mehr8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Sortierverfahren 1. Schreibtischtest 2. Stabilität 3. Sortierung spezieller Arrays 4. Untere
MehrTechnische Universität München
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge Bachelor
MehrBucketsort. Korrektheit. Beispiel. Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt.
Bucketsort Beispiel Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt 1 2 A.78.17 0 1 B.12.17 Sonst: Skalieren ( Aufwand O(n) ) 3.39 2.21.23.26 Idee:
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrInhaltsverzeichnis. Teil 1 Grundlagen 23
Inhaltsverzeichnis Vorwort 11 Umfang 12 Einsatz als Unterrichtsmittel 12 Algorithmen mit Praxisbezug 13 Programmiersprache 14 Danksagung 15 Vorwort des C++-Beraters 16 Hinweise zu den Übungen 21 Teil 1
MehrAlgorithms & Data Structures 2
Algorithms & Data Structures Digital Sorting WS B. Anzengruber-Tanase (Institute for Pervasive Computing, JKU Linz) (Institute for Pervasive Computing, JKU Linz) WIEDERHOLUNG :: UNTERE SCHRANKE FÜR SORTIEREN
MehrInhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85
Inhaltsverzeichnis Vorwort 13 Umfang 14 Einsatz als Unterrichtsmittel 14 Algorithmen mit Praxisbezug 15 Programmiersprache 16 Danksagung 17 Vorwort des Java-Beraters 18 Hinweise zu den Übungen 19 Teil
MehrEinführung in die Informatik
Einführung in die Informatik Christian Rössl Wintersemester 2017/18 Einführung in die Informatik Christian Rössl EinfInf 2017: Übersicht 2 Berechenbarkeit Rekursion Java Analyse Theoretische Grundlagen
MehrAlgorithmen und Datenstrukturen CS1017
Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Organisatorisches und Einführung Lehrpersonal Dozent Dr. Letschert Tutoren Alissia Sauer Jonas
Mehr1 Raumwechsel: Gr. 15 (Do 10-12, F-235) ab sofort in G Studie zum Arbeitsverhalten von Studierenden unter Leitung
Organisatorisches Algorithmen und Datenstrukturen Kapitel 3: Divide & Conquer Frank Heitmann heitmann@informatik.uni-hamburg.de 1 Raumwechsel: Gr. 15 (Do 10-12, F-235) ab sofort in G-021. 2 Studie zum
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
MehrKomplexität von Algorithmen SS 2011
Komplexität von Algorithmen SS 2011 Volker Strehl Informatik 8 4. Mai 2011 Organisatorisches Vorlesungstermine Mittwoch, 08:30 10:00 im H4 Freitag, 10:15 11:45 Uhr im H14 (Werkstoffwissenschaften) Organisatorisches
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:
MehrDiskrete Strukturen WS 2010/11. Ernst W. Mayr. Wintersemester 2010/11. Fakultät für Informatik TU München
WS 2010/11 Diskrete Strukturen Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/ Wintersemester 2010/11 Diskrete Strukturen Kapitel 0 Organisatorisches Vorlesungen:
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrAlgorithmen und Datenstrukturen (fu r ET/IT) Personen. Programm heute. Wintersemester 2012/13. Wintersemester 2012/13. Dr.
Algorithmen und Datenstrukturen (fu r ET/IT) Algorithmen und Datenstrukturen (fu r ET/IT) Wintersemester 2012/13 Wintersemester 2012/13 Dr. Tobias Lasser Dr. Tobias Lasser Computer Aided Medical Procedures
MehrGrundlagen der Algorithmen und Datenstrukturen
Grundlagen der Algorithmen und Datenstrukturen Christian Scheideler + Helmut Seidl SS 2009 01.04.09 Kapitel 0 1 Vorlesung: Organisatorisches Di 12:00 13:30 MI HS 1 Do 12:00 12:45 MI HS 1 Übungen: 34 Alternativen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach
MehrEinführung in die Informatik I Kapitel II.3: Sortieren
1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
MehrGrundlagen der Informatik
Jörn Fischer j.fischer@hs-mannheim.de Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrAlgorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Organisation 2 Einführung Ziele und Inhalt
MehrAbschnitt 19: Sortierverfahren
Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758
MehrEingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt
Bucketsort Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt Sonst: Skalieren ( Aufwand O(n) ), oder Algo etwas umschreiben Idee: Teile [0, 1) in k gleich
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft RUD
Mehrf 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale
MehrDank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
MehrAufgabe (Schreibtischtest, lexikographische Ordnung)
Aufgabe (Schreibtischtest, lexikographische Ordnung) Führen Sie einen Schreibtischtest für den Algorithmus Bubblesort aus der VL für die folgenden Eingabe-Arrays durch. Geben Sie das Array S nach jedem
Mehr(08 - Einfache Sortierverfahren)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (08 - Einfache Sortierverfahren) Prof. Dr. Susanne Albers Sortieren Motivation, Einführung Datenbestände müssen sehr oft sortiert werden, etwa um
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
MehrTheoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!
MehrAlgorithmen und Datenstrukturen
Gunter Saake Kai-Uwe Sattler Algorithmen und Datenstrukturen Eine Einführung mit Java 4., überarbeitete Auflage dpunkt.verlag XI Inhaltsverzeichnis I Grundlegende Konzepte 1 1 Vorbemerkungen und Überblick
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 9. Sortieren
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 9 Sortieren Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69, A-4040 Linz Sortieren :: Problemstellung
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
MehrSortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
MehrÜbung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 1 Organisation 2 Einführung Ziele und Inhalt
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Termine. Vorlesung. Sommersemester Dr. Tobias Lasser
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 1 Organisation Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Einführung Ziele und Inhalt
Mehr3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen
3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge
MehrAlgorithmen und Datenstrukturen
1-1 Lehrstuhl fu r Informatik I Algorithmen und Datenstrukturen Wintersemester 2017/18 Organisatorisches Vorlesung: Alexander Wolff (E29) U bungsbetreuung: Andre Lo ffler (E16) Fabian Lipp (E14) Johannes
MehrEIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217
EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?
Mehr4. Sortieren 4.1 Vorbemerkungen
. Seite 1/21 4. Sortieren 4.1 Vorbemerkungen allgemeines Sortierproblem spezielle Sortierprobleme Ordne a 1,..., a n so um, dass Elemente in aufsteigender Reihenfolge stehen. Die a i stammen aus vollständig
MehrKapitel 8 Fortgeschrittene Sortieralgorithmen
Kapitel 8 Fortgeschrittene Sortieralgorithmen Zur Erinnerung: in Kapitel 6 Elementare Sortierverfahren Sortierverfahren, die auf Vergleichen von Werten basieren. Aufwand zum Sortieren von Feldern von n
MehrKapitel 3 Zur Korrektheit und Effizienz von Algorithmen
Kapitel 3 Zur Korrektheit und Effizienz von Algorithmen Ziel: Kurze Einführung in den Pseudocode zur Beschreibung von Algorithmen Induktionsbeweise als wichtiges Hilfsmittel, um die Korrektheit eines Algorithmus
MehrAlgorithmen und Datenstrukturen 3. Vorlesung
Algorithmen und Datenstrukturen 3. Vorlesung Martin Dietzfelbinger 18. April 2005 Stacks Queues Listen... Datentypen und Datenstrukturen FG KTuEA, TU Ilmenau AuD 18.04.2005 FG KTuEA, TU Ilmenau AuD 18.04.2005
MehrOrganisatorisches. Theoretische Informatik 3 WS 2005/06. Empfohlene Literatur. Übersicht
Organisatorisches Theoretische Informatik 3 WS 2005/06 Volker Strehl Informatik 8 20. Oktober 2005 Vorlesungstermine Montags und Donnerstag, 16:00 17:30 Uhr im H9 Übungen in 7 Gruppen, Termine und Eintragung
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Mehr