Algoritmer og Datastrukturer 2 (Forår 2011, Q4)

Meddelelser

Formål

Deltagerne vil efter kurset have indsigt i konstruktionen af graf- og streng-algoritmer til løsning af konkrete algoritmiske problemer, og detaljeret kendskab til anvendelsen af fundamentale algoritmiske paradigmer til design af algoritmer.

Indhold

Algoritmeparadigmer: Del-og-kombiner, dynamisk programmering, grådighed. Grafalgoritmer: Grafgennemløb, sammenhængsegenskaber, topologisk sortering, udspændende træer, korteste veje, transitiv lukning. Tekstprocessering: Mønstergenkendelse, trier, tekstkomprimering, tekstsimilaritet.

Læringsmål

Deltagerne skal ved afslutningen af kurset kunne:

Øvelser og obligatoriske opgaver

Den obligatoriske afleveringsopgave skal regnes og afleveres i grupper af 1-3 personer. Afleveringstidspunktet er efter aftale med den enkelte instruktor.

Øvelser starter fredag den 1. april 2011 (hold DA1).

Forelæser

Gerth Stølting Brodal

Forelæsninger

Mandag 14.15-16.00 og torsdag 12.15-14.00. Store Auditorium (IT Huset).

Spørgetime før eksamen

De enkelte hold aftaler selv med instruktoren hvornår der skal holdes spørgetime før eksamen.

20. juni 10.00, Shannon-159, Freek (DA4)
21. juni 10.00, IT-huset, lokale 129 (DA5).
22. juni 10.15, Shannon-159, Magnus (Hold 1)
22. juni 12.00, IT-huset, lokale 129, Jana (DA1)

Kursusplan

Bemærk: Slides med clicker spørgsmål findes under dokumenter efter forelæsningen.

Uge Dag Forelæsning Litteratur Slides
14 4/4 Del-og-kombiner
(under forelæsningen bevises en simplere udgave af Master Theorem'et)
[CLRS] Kap. 2.3, 4.2-4.5, Problem 30.1.c divide.pptx
divide.pdf
7/4 Dynamisk programmering [CLRS] Kap. 15.1-15.3 dynamicprogramming.pptx
dynamicprogramming.pdf
15 11/4 Dynamisk programmering5
(Hirsberger's liniære plads LCS algoritme, CACM 1975, ikke pensum)
[CLRS] Kap. 15.4-15.5 dynamicprogramming.pptx
dynamicprogramming.pdf
14/4 Grådige algoritmer [CLRS] Kap. 16.1-16.3 greedy.ppt
greedy.pdf
16-17 18/4 Graf algoritmer: Repræsentation, BFS, DFS [CLRS] Kap. 22.1-22.3 graphs.ppt
graphs.pdf
20-26/4Påskeferie
28/4 Graf algoritmer: Topologisk sortering, stærke sammenhængskomponenter [CLRS] Kap. 22.4-22.5 topologicalsort.ppt
topologicalsort.pdf
18 2/5 Graf algoritmer: Korteste veje (SSSP) [CLRS] Kap. 24.1-24.3 shortestpaths-sssp.ppt
shortestpaths-sssp.pdf
5/5 Graf algoritmer: Korteste veje (APSP) [CLRS] Kap. 25.1-25.2 shortestpaths-apsp.ppt
shortestpaths-apsp.pdf
19 9/5 Graf algoritmer: Minimum udspændende træer [CLRS] Kap. 23 mst.pptx
mst.pdf
12/5 Graf algoritmer: Maksimale strømninger, Maximale todelte parringer [CLRS] Kap. 26.1-26.3 flow.pptx
flow.pdf
20 16/5 Streng algoritmer: Mønstergenkendelse [CLRS] Kap. 32.1-32.2, 32.4 patternmatching.ppt
patternmatching.pdf
19/5 Streng algoritmer: Suffix træer og suffix arrays [Smyth] 5.3.2, [GT] 9.2 tries.ppt
tries.pdf
20/5 Store Bededag
21 23/5 Repetition
Diskusion af eksamen
   
26/5 Ingen forelæsning    

Materiale


stort billede
Introduction to Algorithms (Third Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein. MIT Press, 2009.

Kernen af kursusmaterialet udgøres af denne bog.

stort billede
Michael T. Goodrich and Roberto Tamassia: Algorithm design - Foundations, Analysis and Internet Examples. John Wiley & Sons, Inc. ISBN: 0-471-38365-1.

Til forelæsningerne om suffix træer udleveres der Kapitel 9.2 fra bogen (findes også under dokumenter). De øvrige kapitler i bogen vil ikke blive gennemgået i kurset.

stort billede
William Smyth: Computing Patterns in Strings. Pearson Education, 2003. ISBN: 0-20139-839-7 (errata).

Til forelæsningerne om suffix arrays udleveres Kapitel 5.3.2 fra bogen (findes også under dokumenter). De øvrige kapitler i bogen vil ikke blive gennemgået i kurset.