02110 Algoritmer og datastrukturer 2

2025/2026

Kursusinformation
Algorithms and Data Structures 2
Engelsk
5
Bachelor
Kurset udbydes som enkeltfag
E2B (tors 8-12)
Campus Lyngby
Forelæsninger og grupperegninger.
13-uger
E2B
Skriftlig eksamen og bedømmelse af opgave(r)
Karakteren er en helhedsvurdering af opgaver og eksamen.
Skriftlig eksamen: 4 timer
Skriftlige hjælpemidler er tilladt
7-trins skala , ekstern censur
02105/02326 , Kurset bygger på 02105 Algoritmer og Datastrukturer I. Det forventes at den studerende kan pensum fra 02105, som inkluderer Basal algoritmisk analyse, asymptotisk notation. Datastrukturer: stakke, køer, hægtede lister, træer, hobe, prioritetskøer, union-find, balancerede binære søgetræer. Søgning og sortering: binær søgning, hobsortering, indsættelsessortering, flettesortering. Grafalgoritmer: korteste veje (Dijkstra og korteste veje i DAGs), mindste udspændende træer, topologisk sortering, breddeførst søgning, dybdeførst søgning, repræsentation af grafer.
Inge Li Gørtz , Tlf. (+45) 4525 3673 , inge@dtu.dk
Philip Bille , Tlf. (+45) 4525 3647 , phbi@dtu.dk
01 Institut for Matematik og Computer Science
https://courses.compute.dtu.dk/02110
I studieplanlæggeren
Overordnede kursusmål
At give den studerende kendskab til teknikker til design og analyse af avancerede algoritmer. At træne evnen til at konstruere egne algoritmer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Beskrive en algoritme præcist, kortfattet og entydigt.
  • Anvende datastrukturer og algoritmer fra kurset.
  • Analysere algoritmer og datastrukturer, herunder være i stand til at bestemme værste-tilfælde, forventet og amortiseret køretid og pladsforbrug i asymptotisk notation.
  • Argumentere for korrekthed af algoritmer.
  • Identificere og formulere det underliggende algoritmiske problem i en given problemstilling.
  • Analysere, vurdere og sammenligne algoritmer/​​datastrukturer og på baggrund af dette vælge en passende algoritme/datastruktur til løsning af et givet problem.
  • Anvende strømningsgrafer til at modellere en given problemstilling.
  • Tilpasse algoritmer og datastrukturer til at løse et givet problem.
  • Sammenligne forskellige algoritmiske paradigmer (f.eks. del-og-hersk, dynamisk programmering, randomiserede algoritmer og strømningsalgoritmer) og vælge et passende til løsning af et givet problem.
  • Genkende et NP-komplet problem og bevise at det er NP-komplet.
  • Implementere og afprøve datastrukturer og algoritmer, samt lave passende test og empiriske analyser af dem.
  • Argumentere for valg foretaget i forbindelse med løsning af et problem.
Kursusindhold
Strømingsalgoritmer. Datatrukturer til indeksering og partiel sum (f.eks. hashtabeller, Fenwick trees). Algoritmer til streng matching. Teknikker til design og analyse af algoritmer (dynamisk programmering, del-og-hersk, randomiserede algoritmer og datastrukturer, forventet og amortiseret køretidsanalyse). NP.
Litteraturhenvisninger
"Algorithm Design" af Kleinberg og Tardos.
Sidst opdateret
02. maj, 2025