Datenstrukturen und effiziente Algorithmen

General

Modulbeschreibung

Lecturer: Marc Hellmuth

Tutor: Nikolai Nøjgaard


Zeit und Ort:

  • Vorlesung:
    • Di 10:00-12:00, Mi 12:00-14:00
    •  Franz-Mehring-Straße 47/48 - SR 3

  • Übung (in English)
    • Mo 12:00 bis 14:00
    • Wollweberstraße 1 - RTK

Vorwissen:

  • Algorithmen und Programmierung, Theoretische Informatik

Voraussetzungen zum Bestehen:

  • Aktive Teilnahme
  • 50% der Übungsaufgaben korrekt gelöst
  • Bestehen der 30-45min mündlichen Prüfung

Dates and News

  • Übung 10, Aufg 4: berichtigt - nicht F_k +1 sondern F_{k+1} - Dank an die aufmerksamen Studenten!
  • Zusätzliches File (Edmonds-Karp-Algorithm) für Übung 9 hochgeladen.
  • Vorlesung am 4. und 5. Dez entfällt und Übung am 10.Dez entfällt
    und wird ggf nachgeholt.
  • Aktualisiertes Übungsblatt 6 - Aufg. 1 (22.Nov) -- "walk of length k"
  • Aktualisiertes Übungsblatt 4 (6.Nov)
  • Aktualisiertes Übungsblatt Aufg. 2c (17.Okt) - Dank an die aufmerksamen Studenten!
  • Start der Übung: 22.10.2018
  • Start der Vorlesung: 16.10.2018

Übung

Exercise        Deadline        Workingmaterial

1-Ex.pdf        24. Okt           --
2-Ex.pdf        31. Okt           --
3-Ex.pdf        07. Nov          Faust-Goethe     E.coli-Genom
4-Ex.pdf        14. Nov          --
5-Ex.pdf        21. Nov          --
6-Ex.pdf        28 .Nov          Graphen  G1, G2, G3, G4
7-Ex.pdf        11. Dez          --
8-Ex.pdf        19. Dez          --
9-Ex.pdf        09. Jan           Edmonds-Karp-Alg. (cpp)
10-Ex.pdf      16. Jan       
11-Ex.pdf      23. Jan

Material - Zusammenfassung Vorlesung

(Einige der Folien wurden aus der Vorlesung von Prof. Stanke wiederverwendet)

Vorlesung 1: Orga

Vorlesung 1-2: Einführung und Basics

  • Begriff Algorithmus/Datenstruktur
  • Recap: Big-O,  Omega, and Theta- Notation
  • Einschub Graphtheorie: (un)gerichtete Graphen, Grad, Teilgraph, Isomorphie, vollständige Graphen, Komplement, Baum, Wald
  • Einfach Typen von Algorithmen
    • iterativ, rekursiv, dynamisch, heuristisch, probabilistisch

Vorlesung 2-3: Komplexität

  • HALTE-problem (nicht entscheidbar)
  • Entscheidungs- VS Optimierungsprobleme
  • Die Klassen P, NP, (nicht)-deterministische Turingmaschine (TM)
  • Polynomialzeit Reduktionen ≤p
  • NP-vollständigkeit
  • Bsp.: SAT ≤p 3-SAT ≤p CLIQUE ≤p VERTEX-COVER / INDEPENDENT-SET / SUBGRAPH-ISOM

Vorlesung 4-10: String Matching und ähnliche Probleme

Vorlesung 11-15: Graph-Algorithmen

Vorlesung 16-18: Zahlentheoretische Algorithmen

Vorlesung 18-19: Greedy-Algorithmen

  • Minimum-Spanning Trees and Kruskal-Algorithmus
  • Huffmann-Coding
  • Matroids

Vorlesung 20 - Ende:

  • Approximationsalgorithmen
  • Dynamic Programming VS Divide&Conquer (Tutorial)

     

Recommended Literature

  • Algorithms on Strings, Trees, and Sequences, Dan Gusfield, Cambridge University Press, 2010
  • Introduction to Algorithms, Cormen et al., MIT Press, 2009