Algorithmen 1, SS2017, Vorlesung podcast artwork

PODCAST · education

Algorithmen 1, SS2017, Vorlesung

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

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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)

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

    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)

  13. 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

  14. 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

  15. 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++

  16. 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

  17. 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

  18. 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)

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

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.

Showing of matches

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

Frequently Asked Questions

How many episodes does Algorithmen 1, SS2017, Vorlesung have?

Algorithmen 1, SS2017, Vorlesung currently has 23 episodes available on PodParley. New episodes are automatically indexed when they're published to the podcast feed.

What is Algorithmen 1, SS2017, Vorlesung about?

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 ...

How often does Algorithmen 1, SS2017, Vorlesung release new episodes?

Algorithmen 1, SS2017, Vorlesung has 23 episodes. Check the episode list to see recent publication dates and frequency.

Where can I listen to Algorithmen 1, SS2017, Vorlesung?

You can listen to Algorithmen 1, SS2017, Vorlesung on PodParley by clicking any episode. We provide an embedded audio player for direct listening, and you can also subscribe via your preferred podcast app using the RSS feed.

Who hosts Algorithmen 1, SS2017, Vorlesung?

Algorithmen 1, SS2017, Vorlesung is created and hosted by Karlsruher Institut für Technologie (KIT).
URL copied to clipboard!