2015/2016

02339 Algoritmer og datastrukturer

Kurset er et repetitionsforløb. Undervisningen kan ikke stå alene, og det forventes derfor, at den studerende har fulgt det ordinære kursus forud for tilmelding til repetitionsforløbet. Hvis du ønsker at deltage i eksamen, skal du tilmelde dig kursus 02326.

Engelsk titel:

Algorithms and Data Structures

Sprog:

Point( ECTS )

0

Kursustype:

Diplomingeniør
Kurset udbydes under tompladsordningen
 

Skemaplacering:

August

Undervisningens placering:

Campus Lyngby

Undervisningsform:

Forelæsninger og øvelser.

Kursets varighed:

3-uger

Eksamensplacering:

F2B

Evalueringsform:

Eksamens varighed:

Hjælpemidler:

Bedømmelsesform:

Pointspærring:

Anbefalede forudsætninger:

Overordnede kursusmål:

Kurset introducerer en række fundamentale begreber og teknikker til konstruktion og analyse af effektive algoritmer og datastrukturer. At kunne beskrive, vurdere og anvende grundlæggende algoritmer og datastrukturer. Og at kunne analysere en algoritme med hensyn til køretid og ressourceforbrug.

Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Beskrive en algoritme på en forståelig måde, dvs. præcist, kortfattet og entydigt.
  • Foretage basale analyser af algoritmer, herunder være i stand til at bestemme køretider og pladsforbrug i asymptotisk notation
  • Identificere og formulere det underliggende algoritmiske problem i en given problemstilling.
  • Anvende og analysere basale datastrukturer, som f.eks. stakke, køer, hægtede lister og hash-tabeller.
  • Anvende og analysere basale grafalgoritmer, f.eks. BFS, DFS og Dijkstras algoritme.
  • Implementere og afprøve datastrukturer og algoritmer, samt lave passende test og empiriske analyser af dem.
  • Analysere, vurdere og sammenligne algoritmer/​datastrukturer og på baggrund af dette vælge en passende algoritme/datastruktur til løsning af et givet problem.
  • Tilpasse kendte algoritmer til at løse et givet problem.
  • Beskrive og sammenligne forskellige algoritmiske paradigmer, herunder rekursion, grådige algoritmer og del-og-hersk.
  • Kommunikere løsninger til opgaver på en klar og præcis måde
  • Være i stand til i et klart sprog at argumentere for valg foretaget i forbindelse med løsning af et problem.
  • Analysere et givet problem og træffe kvalificerede valg til løsning af problemet baseret på den foretagne analyse.

Kursusindhold:

Begrebet algoritme; begreberne graf og træ; rekursion og iteration; fundamentale algoritmer til sortering af data; teknikker til analyse af algoritmers effektivitet (køretidsanalyser, analyse af pladsforbrug); O-notation m.m.; elementære datastrukturer (stakke, køer, hægtede lister m.m.); avancerede datastrukturer (hash-tabeller, binære søgetræer m.m.); algoritmer på grafer (breddeførst søgning, dybde-først søgning, topologisk ordning m.m.). Grådige algoritmer og del-og-hersk algoritmer.

Litteraturhenvisninger:

"Introduction to Algorithms" af Cormen, Leierson, Rivest og Stein. 3rd edition.

Kursusansvarlig:

Philip Bille , phbi@dtu.dk

Institut:

01 Institut for Matematik og Computer Science

Kursushjemmeside:

http://www2.compute.dtu.dk/courses/02105+02326/

Tilmelding:

I CampusNet
Sidst opdateret: 08. juni, 2016