PODCAST · education
Algorithmen 1, SS2017, Vorlesung
by Karlsruher Institut für Technologie (KIT)
Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: Ergebnisüberprüfung (Checkers) und Zertifizierung Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert Grundbegriffe des Algorithm Engineering Effektive Umsetzung verketteter Listen Unbeschränkte Arrays, Stapel, und Warteschlangen Hashtabellen: mit Verkettung, linear probing, universelles Hashing Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort Selektion: quickselect Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorit
-
23
23: Algorithmen 1, Vorlesung, SS 2017, 24.07.2017
23 | 0:00:00 Starten 0:00:06 Schnuppervorlesung Sicherheit 0:00:39 Überblick 0:03:10 Ziel 0:04:56 Motivation 0:09:01 Grundidee 0:11:20 Erste Eigenschaften 0:14:56 Überblick RSA 0:21:55 RSA-Schlüsselgenerierung 0:28:49 Korrektheit von RSA 0:38:04 Sicherheit? 0:43:31 Semantische Sicherheit für Public-Key-Verschlüsselung 0:50:04 Äquivalenter Begriff: IND-CPA 0:55:11 Sicherheit von RSA 0:56:43 Weitere Angriff auf RSA 0:59:31 Homomorphie von RSA 1:01:57 RSA-Padding 1:05:57 RSA-OAEP 1:07:17 Sicherheit von RSA-OAEP 1:09:35 Relevanz von RSA (-OAEP) 1:12:20 Mehr über ElGamal Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: - Ergebnisüberprüfung (Checkers) und Zertifizierung - Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert - Grundbegriffe des Algorithm Engineering - Effektive Umsetzung verketteter Listen - Unbeschränkte Arrays, Stapel, und Warteschlangen - Hashtabellen: mit Verkettung, linear probing, universelles Hashing - Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort - Selektion: quickselect - Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten - Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit - Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorithmus, Bellman-Ford Algorithmus, Minimale Spannbäume: Kruskals Algorithmus, Jarnik-Prim Algorithmus) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) Literaturhinweise: Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn und P. Sanders Springer 2008 Weiterführende Literatur Algorithmen - Eine Einführung T. H. Cormen, C. E. Leiserson, R. L. Rivest, und C. Stein, Oldenbourg, 2007 Algorithmen und Datenstrukturen T. Ottmann und P. Widmayer, Spektrum Akademischer Verlag, 2002 Algorithmen in Java. Teil 1-4: Grundlagen, Datenstrukturen, Sortieren, Suchen R. Sedgewick, Pearson Studium 2003 Algorithm Design J. Kleinberg and É. Tardos, Addison Wesley, 2005 Vöcking et al. Taschenbuch der Algorithmen, Springer, 2008 Lehrinhalt: Dieses Modul soll Studierenden grundlegende Algorithmen und Datenstrukturen vermitteln. Die Vorlesung behandelt unter anderem: - Grundbegriffe des Algorithm Engineering - Asymptotische Algorithmenanalyse (worst case, average case, probabilistisch, amortisiert) - Datenstrukturen z. B. Arrays, Stapel, Warteschlangen und Verkettete Listen - Hashtabellen - Sortieren: vergleichsbasierte Algorithmen (z.B. quicksort, insertionsort), untere Schranken, Linearzeitalgorithmen (z.B. radixsort) - Prioritätslisten - Sortierte Folgen,Suchbäume und Selektion - Graphen (Repräsentation, Breiten-/Tiefensuche, Kürzeste Wege, Minimale Spannbäume) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) - Geometrische Algorithmen
-
22
22: Algorithmen 1, Vorlesung, SS 2017, 17.07.2017
22 | 0:00:00 Starten 0:01:04 Kap. 13: Zusammenfassung 0:02:22 Zusammenfassung - Datenstrukturen 0:07:39 Zusammenfassung - Algorithmen 0:11:29 Zusammenfassung - Entwurfstechniken I 0:15:46 Zusammenfassung - Entwurfstechniken II 0:20:07 Zusammenfassung - Analysetechniken 0:26:12 Zusammenfassung - weitere Techniken
-
21
21: Algorithmen 1, Übung, SS 2017, 12.07.2017
21 | 0:00:00 Starten 0:00:06 Roadmap Übung 0:00:38 Schwierige Probleme 0:09:30 Erinnerung: Lineare Programme 0:15:36 Erinnerung: Travelling Salesman Problem 0:17:15 Ein ILP für TSP 0:24:57 Heuristiken 0:25:55 Ameisenalgorithmen 0:30:41 Vertex Cover 0:32:22 Approximation 0:34:48 Eine Approximation für Vertex Cover 0:39:05 Metaheuristiken und Nachbarschaften 0:40:20 Nachbarschaftsmetaheuristiken 0:44:43 Lokale Suche für Vertex Cover 0:47:12 Tabu-Suche für Vertex Cover
-
20
20: Algorithmen 1, Vorlesung, SS 2017, 10.07.2017
20 | 0:00:00 Starten 0:03:19 Wdh. Dynamische Programmierung 0:08:34 Algorithmenentwurf mittels dynamischer Programmierung 0:14:18 Anwendungen dynamischer Programmierung 0:17:38 Gegenbeispiel: Teilproblemeigenschaft 0:18:42 Gegenbeispiel: Austauschbarkeit 0:20:53 Systematische Suche 0:23:44 Beispiel: Branch-and-Bound für das Rucksackproblem 0:32:09 Beispielrechnung 0:41:30 Branch-and-Bound - allgemein 0:44:33 Lokale Suche - global denken, lokal handeln 0:47:55 Hill Climbing 0:48:51 Problem: Lokale Optima 0:49:53 Warum die Nachbarschaft wichtig ist 0:53:40 Jenseits von Hill Climbing 1:01:08 Evolutionäre Algorithmen 1:03:50 Zusammenfassung
-
19
19: Algorithmen 1, Vorlesung und Übung, SS 2017, 05.07.2017
19 | 0:00:00 Starten 0:00:06 Kap. 12: Generische Optimierungsansätze 0:01:08 Durchgehendes Beispiel: Rucksackproblem 0:04:07 Black-Box-Löser 0:04:40 Lineare Programmieurng 0:08:09 Beispiel: Kürzeste Wege 0:09:11 Eine Anwendung - Tierfutter 0:10:38 Verfeinerungen 0:11:52 Algorithmen und Implementierungen 0:13:15 Ganzzahlige Lineare Programmierung 0:16:09 Umgang mit (M)ILPs 0:18:39 Optimale Greedy-Algorithmen 0:23:56 Dynamische Programmierung - Aufbau aus Bausteinen 0:31:11 Dynamische Programmieurng 0:47:57 Übung: Kürzeste Wege Algorithmen: Bellman-Ford 0:56:11 Minimale Spannbäume 0:59:32 Steinerbäume 1:07:49 Problem des Handlungsreisenden (TSP)
-
18
18: Algorithmen 1, Vorlesung, SS 2017, 03.07.2017
18 | 0:00:00 Starten 0:00:06 Kap. 11: Minimale Spannbäume 0:03:34 Anwendungen 0:13:56 Der Jarnik-Prim-Algorithmus 0:24:48 Kruskals Algorithmus 1:03:02 Vergleich Jarnik-Prim Kruskal 1:04:09 Mehr MST-Algorithmen 1:06:50 Zusammenfassung
-
17
17: Algorithmen 1, Vorlesung und Übung, SS 2017, 28.06.2017
17 | 0:00:00 Starten 0:00:37 Mehr zu kürzesten Wegen 0:02:22 Exkurs: Routing in Straßennetzwerken 0:05:58 Distanz zu einem Zielknoten t 0:07:25 Ideen für Routenplannung 0:10:51 Approach: Transit-Node Routing 0:16:55 Erste Beobachtung 0:19:01 Zweite Beobachtung 0:20:27 Transit-Node Routing 0:24:28 Experimente 0:27:25 Offene Fragen 0:29:46 Anfang der Übung 0:30:02 Breitensuche 0:41:12 Tiefensuche 0:51:20 Dijkstras Algorithmus
-
16
16: Algorithmen 1, Vorlesung, SS 2017, 26.06.2017
16 | 0:00:00 Starten 0:00:10 Allgemeine Definition 0:02:19 Kante (u,v) relaxieren 0:04:30 Dijkstras Algorithmus 0:06:53 Beispiel 0:11:27 Korrektheit 0:12:23 v erreichbar -> 0:14:39 v gescannt -> 0:18:46 Dijkstra: Implementierung? 0:20:01 Prioritätsliste 0:21:03 Imlementierung 0:25:38 Beispiel 0:29:27 Dijkstra: Laufzeit 0:36:22 Analyse im Mittel 0:37:23 Monotone ganzzahlige Prioritätslisten 0:38:02 Negative Kosten 0:42:21 Zurück zu Basiskonzepten 0:45:16 Allgemeines Korrektheitskriterium 0:50:42 Algorithmen brutal - Bellman-Ford-Algorithmus für beliebige Kantengewichte 0:54:05 Negative Kreise finden 0:55:47 Beispiel 0:58:14 Bellmann-Ford – Laufzeit 0:59:24 Azyklische Graphen 1:01:11 Von überall nach überall 1:02:57 Kürzeste Wege: Zusammenfassung
-
15
15: Algorithmen 1, Vorlesung, SS 2017, 19.06.2017
15 | 0:00:00 Starten 0:00:08 Tiefensuche 0:11:31 DFS-Baum 0:28:38 Topologische Sortierung 0:40:32 Kap. 10: Kürzeste Wege 0:45:23 Grundlagen 0:52:47 Allgemeine Definitionen 0:58:31 Dijkstras Algorithmus: Pseudocode Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: - Ergebnisüberprüfung (Checkers) und Zertifizierung - Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert - Grundbegriffe des Algorithm Engineering - Effektive Umsetzung verketteter Listen - Unbeschränkte Arrays, Stapel, und Warteschlangen - Hashtabellen: mit Verkettung, linear probing, universelles Hashing - Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort - Selektion: quickselect - Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten - Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit - Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorithmus, Bellman-Ford Algorithmus, Minimale Spannbäume: Kruskals Algorithmus, Jarnik-Prim Algorithmus) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) Literaturhinweise: Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn und P. Sanders Springer 2008 Weiterführende Literatur Algorithmen - Eine Einführung T. H. Cormen, C. E. Leiserson, R. L. Rivest, und C. Stein, Oldenbourg, 2007 Algorithmen und Datenstrukturen T. Ottmann und P. Widmayer, Spektrum Akademischer Verlag, 2002 Algorithmen in Java. Teil 1-4: Grundlagen, Datenstrukturen, Sortieren, Suchen R. Sedgewick, Pearson Studium 2003 Algorithm Design J. Kleinberg and É. Tardos, Addison Wesley, 2005 Vöcking et al. Taschenbuch der Algorithmen, Springer, 2008 Lehrinhalt: Dieses Modul soll Studierenden grundlegende Algorithmen und Datenstrukturen vermitteln. Die Vorlesung behandelt unter anderem: - Grundbegriffe des Algorithm Engineering - Asymptotische Algorithmenanalyse (worst case, average case, probabilistisch, amortisiert) - Datenstrukturen z. B. Arrays, Stapel, Warteschlangen und Verkettete Listen - Hashtabellen - Sortieren: vergleichsbasierte Algorithmen (z.B. quicksort, insertionsort), untere Schranken, Linearzeitalgorithmen (z.B. radixsort) - Prioritätslisten - Sortierte Folgen,Suchbäume und Selektion - Graphen (Repräsentation, Breiten-/Tiefensuche, Kürzeste Wege, Minimale Spannbäume) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) - Geometrische Algorithmen
-
14
14: Algorithmen 1, Vorlesung, SS 2017, 14.06.2017
14 | 0:00:00 Starten 0:00:36 Kap. 8: Repräsentation von Graphen: Einleitung 0:04:35 Repräsentation von Graphen 0:08:29 Notation und Konventionen 0:09:48 Ungerichtete -> gerichtete Graphen 0:10:30 Operationen 0:14:03 Kantenfolgenrepräsentation 0:15:33 Adjazenzfelder 0:19:36 Kantenliste -> Adjazenzfeld 0:26:21 Operationen für Adjazenzfelder 0:29:26 Kantenanfragen 0:30:00 Adjazenzlisten 0:32:47 Customization (Zuschneiden) 0:34:27 Beispiel: DAG- Erkennung 0:42:56 Adjazenz-Matrix 0:47:51 Pfad zählen mittels LA 0:50:29 Beispiel, wo Graphentheorie bei LA hilft 0:52:19 Implizite Repräsentation 0:54:03 ZUsammenhangstest für Intervallgraphen 0:58:16 Beispiel 1:00:30 Graphenrepräsentation: Zusammenfassung 1:02:42 Kap. 9: Graphtraversierung 1:04:26 Graphtraversierung als Kantenklassifizierung 1:09:14 Breitensuche 1:16:32 Repräsentation des Baums
-
13
13: Algorithmen 1, Vorlesung, SS 2017, 12.06.2017
13 | 0:00:00 Starten 0:00:25 Sortierte Folgen 0:01:35 Dynamische Sortierte Folgen 0:02:34 Binäre Suchbäume 0:03:16 Varianten, Bemerkung 0:04:28 locate(k) 0:07:26 Invariante von locate(k) 0:09:06 Ergebnisberechnung von locate(k) 0:11:09 Laufzeit von locate(k) 0:12:47 Naives Einfügen 0:15:22 Suchbäume balancieren 0:17:48 (a, b)-Bäume 1:06:59 Erweiterte Suchbäume 1:09:22 Elternzeiger 1:10:23 Teilbaumgrößen 1:13:15 Zusammenfassung 1:14:00 Mehr zu sortierten Folgen
-
12
12: Algorithmen 1, Vorlesung und Übung, SS 2017, 07.06.2017
12 | 0:00:00 Starten 0:00:09 Adressierbare Prioritätslisten 0:06:42 Adressierbare Binäre Heaps 0:09:16 Adressierbare Prioritätslisten-Laufzeiten 0:11:56 Prioritätslisten-Zusammenfassung 0:13:41 Sortierte Folgen 0:16:44 Statisch: Sortiertes Feld mit binärer Suche 0:29:06 Dynamische Sortierte Folgen-Grundoperationen 0:30:21 Mehr Operationen 0:34:10 Abgrenzung 0:36:25 Sortierte Folgen-Anwendungen 0:39:38 Binäre Suchbäume 0:42:07 Anfang der Übung 0:43:12 Graphen und Relationen 0:48:29 Teilbarkeitsgraph 0:49:38 Der Hyperwürfel Q3 0:51:17 Knotengrad 0:53:58 Handshaking Lemma 0:59:51 Adjazenz-und Inzidenzmatrix 1:06:46 Graphen als Matrizen 1:07:58 Wiederholung: DAG 1:10:47 Graphen als Matrizen 1:15:13 Wege, Kreise und Zusammenhang 1:16:48 Eulerische und Hamiltonische Kreise 1:21:35 Satz von Euler (Graphen)
-
11
11: Algorithmen 1, Vorlesung und Übung, SS 2017, 31.05.2017
11 | 0:00:00 Starten 0:00:11 Vorlesung 0:00:14 Heap-Algorithmus 0:04:52 Prozedur siftDown 0:12:20 deleteMin: Beispiel 0:15:46 Binärer Heap 0:27:34 Nützlicher Rechentrick 0:32:02 Heapsort 0:38:16 Heapsort, Quicksort, Mergesort 0:40:43 Adressierbare Prioritätslisten 0:40:48 Übung 0:41:39 Roadmap 0:43:44 Erinnerung: Bucketsort 0:44:45 Bucket Sort für [0, 1) 0:51:48 Priority Queues 0:55:18 Bucket Queue 0:58:09 Binary Radix Heap 1:12:41 Schnelle Heaps 1:13:58 Zusammenfassung
-
10
10: Algorithmen 1, Vorlesung, SS 2017, 29.05.2017
10 | 0:00:00 Starten 0:00:08 Halbrekursive Implementierung 0:04:39 Quadratische Komplexität bei gleichen Elementen? 0:11:21 Vergleich Quicksort Mergesort 0:15:33 Auswahl (Selection) 0:20:18 Quickselect 0:37:05 Array-Implementierung 0:47:51 Least-Sigmificant-Digit Radix-Sortieren 0:55:05 Mehr zu ganzzahligem Sortieren 1:04:41 Prioritätslisten 1:09:21 Binäre Heaps 1:12:43 Implizite Baum-Repräsentation
-
9
09: Algorithmen 1, Vorlesung, SS 2017, 24.05.2017
09 | 0:00:00 Starten 0:00:13 Quicksort-zufälliger Pivot 0:05:32 Satz: Quicksort hat erwartete Laufzeit 0:20:42 Exkurs: Harmonische Summe 0:27:19 Quicksort: Effiziente Implementierung 0:38:01 Beispiel: Partinonierung 0:41:31 Beispiel: Rekursion 0:43:42 Größerer Basisfall 0:45:48 Inplace? Wirklich? 0:47:33 Halbrekursive Implementierung 0:50:15 Quadratische Komplexität bei gleichen Elementen? 0:50:52 Anfang der Übung 0:54:07 Rückblick: Insertion Sort 0:57:36 Sentinels am Beispiel Sortieren durch Einfügen 1:04:01 adaptives Sortieren 1:08:04 Insertion Sort: Adaptiv? 1:10:13 Insertion Sort: Erwartete Laufzeit 1:14:15 Natural Merge Sort 1:14:54 Runs 1:21:23 Zusammenfassung: Adaptives Sortieren 1:22:17 Beispiel: C++
-
8
08: Algorithmen 1, Vorlesung, SS 2017, 22.05.2017
08 | 0:00:00 Starten 0:00:31 Einfache Sortieralgorithmen 0:07:38 Analyse 0:11:03 Sortieren durch Mischen 0:26:56 Baumbasierte Sortier-Darstellung 0:43:46 Randomisierung, Mittlere Ausführungszeit 0:44:35 Quicksort - erster Versuch
-
7
07: Algorithmen 1, Vorlesung und Übung, SS 2017, 17.05.2017
07 | 0:00:00 Starten 0:02:06 Verketten <-> Lineare Suche 0:06:50 Mehr Hashing 0:10:29 Hashtabellen für assoziative Arrays 0:14:49 Kryptographische Hashfunktion 0:20:50 Sortieren & Co 0:36:21 4. Übung zu Algorithmen 1 0:36:55 Hashtabelle mit einfach verketteten Listen 0:40:13 Duplikaterkennung 1:10:13 Bloom Filter
-
6
06: Algorithmen 1, Vorlesung, SS 2017, 15.05.2017
06 | 0:00:00 Starten 0:00:08 Hashing (Streuspeicherung) 0:03:07 Hashtabellen 0:06:19 Hashing: Anwendungen 0:10:49 Ein (über)optimistischer Ansatz 0:12:44 Kollisionen 0:15:16 Kollisionsauflösung 0:15:48 Hashing mit verketteten Listen 0:22:30 Etwas Wahrscheinlichkeitstheorie für den Hausgebrauch 0:41:59 Analyse für zufällige Hash-Funktion 0:49:42 Universelles Hashing 1:10:23 Hashing mit Linearer Suche (Linear Probing)
-
5
05: Algorithmen 1, Vorlesung und Übung, SS 2017, 10.05.2017
05 | 0:00:00 Starten 0:00:08 Beginn Vorlesung 0:01:08 Erinnerung VL vom 08.05.2017 0:01:47 Stapel und Schlangen 0:06:03 Stapel 0:10:30 Warteschlangen / First-In-First-Out / FIFO 0:11:12 FIFO 0:17:58 Warteschlangen 0:20:38 Deque 0:24:29 Vergleich: Listen - Felder 0:27:57 Ausblick: Weitere Repräsentationen von Folgen 0:29:15 Hashings (Steuerspeicherung) 0:29:50 Hashtabellen 0:31:20 Exkurs: Konventionen für Elemente 0:31:53 Hashing: Anwendungen 0:34:22 Beginn Übung 0:34:42 Roadmap 0:35:05 Verkettete Listen 0:35:18 Listen - Mit Überholspur 0:38:03 Skip Lists 0:46:08 Amotisierte Analyse 0:55:20 Hotlist 1:03:01 Zusammenfassung 1:04:56 Verkettete Listen 1:10:00 Variablenwechsel
-
4
03: Algorithmen 1, Übung, SS 2017, 03.05.2017
03 | 0:00:00 Starten 0:01:03 Organisatorisches 0:06:08 Effizienz von Algorithmen 0:14:41 Eingabegröße und Laufzeit 0:17:23 Genauer: (asymptotische) Laufzeit 0:21:29 (Asymptotische) O-Notation 0:22:56 O-Notation (Intuition) 0:28:09 Asymptotische Notationen 0:31:28 Betrachtung über Grenzwerte 0:42:11 Basis des Logarithmus 0:45:48 Invarianten 1:06:51 Teile-und-Herrsche-Paradigma 1:11:46 Karatsuba-Ofman Multiplikation 1:14:01 Mastertheorem, einfache/gerundete Form 1:15:17 Abschätzung von Rekurrenzen
-
3
04: Algorithmen 1, Vorlesung, SS 2017, 08.05.2017
04 | 0:00:00 Starten 0:00:15 P und NP 0:03:17 Folgen 0:05:22 Form Follows Function 0:11:36 Listenglieder (Items) 0:13:41 Trick: dummy header 0:17:39 Die Listenklasse 0:33:08 Items löschen 0:35:41 Elemente einfügen 0:40:29 Suchen 0:46:15 Einfach verkettete Listen 0:52:41 Listen: Zusammenfassung, Verallgemeinerungen 0:53:44 Felder (Arrays) 0:56:32 Unbeschränkte Felder 1:14:42 Amortisierte Analyse - allgemeiner
-
2
02: Algorithmen 1, Vorlesung, SS 2017, 26.04.2017, 02
0:00:00 Starten 0:00:07 Erinnerung VL 24.04.2017 0:01:55 Karatsuba-Ofman Multiplikation 0:04:33 Skalierung 0:06:59 Blick über den Tellerrand 0:09:45 Algorithmenanalyse 0:13:07 Zweite Vereinfachung: Asymptotik 0:19:44 O-Kalkül Rechenregeln 0:23:29 Maschinenmodell: RAM 0:31:59 ""Kleine"" ganze Zahlen? 0:35:00 Algorithmenanalyse im RAM-Modell 0:38:15 Mehr Maschinenmodell 0:40:56 Pseudocode 0:41:56 Design by Contract / Schleifeninvarianten 0:56:16 Programmanalyse 1:00:30 Eine Rekurrenz für Teile und Herrsche 1:02:54 Master Theorem (Einfache Form) Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: - Ergebnisüberprüfung (Checkers) und Zertifizierung - Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert - Grundbegriffe des Algorithm Engineering - Effektive Umsetzung verketteter Listen - Unbeschränkte Arrays, Stapel, und Warteschlangen - Hashtabellen: mit Verkettung, linear probing, universelles Hashing - Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort - Selektion: quickselect - Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten - Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit - Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorithmus, Bellman-Ford Algorithmus, Minimale Spannbäume: Kruskals Algorithmus, Jarnik-Prim Algorithmus) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) Literaturhinweise: Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn und P. Sanders Springer 2008 Weiterführende Literatur Algorithmen - Eine Einführung T. H. Cormen, C. E. Leiserson, R. L. Rivest, und C. Stein, Oldenbourg, 2007 Algorithmen und Datenstrukturen T. Ottmann und P. Widmayer, Spektrum Akademischer Verlag, 2002 Algorithmen in Java. Teil 1-4: Grundlagen, Datenstrukturen, Sortieren, Suchen R. Sedgewick, Pearson Studium 2003 Algorithm Design J. Kleinberg and É. Tardos, Addison Wesley, 2005 Vöcking et al. Taschenbuch der Algorithmen, Springer, 2008 Lehrinhalt: Dieses Modul soll Studierenden grundlegende Algorithmen und Datenstrukturen vermitteln. Die Vorlesung behandelt unter anderem: - Grundbegriffe des Algorithm Engineering - Asymptotische Algorithmenanalyse (worst case, average case, probabilistisch, amortisiert) - Datenstrukturen z. B. Arrays, Stapel, Warteschlangen und Verkettete Listen - Hashtabellen - Sortieren: vergleichsbasierte Algorithmen (z.B. quicksort, insertionsort), untere Schranken, Linearzeitalgorithmen (z.B. radixsort) - Prioritätslisten - Sortierte Folgen,Suchbäume und Selektion - Graphen (Repräsentation, Breiten-/Tiefensuche, Kürzeste Wege, Minimale Spannbäume) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) - Geometrische Algorithmen
-
1
01: Algorithmen 1, Vorlesung, SS 2017, 24.04.2017, 01
01 | 0:00:00 Starten 0:00:10 Algorithmus? Kann man das essen? 0:01:30 Algorithmik 0:02:59 Datenstruktur 0:03:56 Themenauswahl: Werkzeugkasten 0:06:34 Inhaltsübersicht 0:10:11 Amuse Geule 0:14:59 Addition 0:18:47 Exkurs: Pseudocode 0:21:38 Exkurs vom Exkurs: Wieso nicht C++/Java-like? 0:24:00 Ziffernmultiplikation 0:32:18 Schulmultiplikation 0:38:06 Exkurs O-Kalkül, die Erste 0:44:11 Ein rekursiver Algorithmus 0:53:39 Exkurs: Algorithmen-Entwurfsmuster 0:55:22 Karatsuba-Ofman Multiplikation 1:02:26 Algorithm Engineering - was hat das mit der Praxis zu tun? 1:04:27 Algorithmentheorie (Karikatur) 1:05:31 Algorithmik als Algorithm Engineering
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
ABOUT THIS SHOW
Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: Ergebnisüberprüfung (Checkers) und Zertifizierung Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert Grundbegriffe des Algorithm Engineering Effektive Umsetzung verketteter Listen Unbeschränkte Arrays, Stapel, und Warteschlangen Hashtabellen: mit Verkettung, linear probing, universelles Hashing Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort Selektion: quickselect Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorit
HOSTED BY
Karlsruher Institut für Technologie (KIT)
CATEGORIES
Loading similar podcasts...