2007/2008

02105 Algoritmer og Datastrukturer I

Engelsk titel: 


Algorithms and Data Structures I

Sprog:


Point (ECTS )

  5

Kursustype:   

Civil- Grundlæggende kursus
Kurset udbydes under Tompladsordningen


Skemaplacering:

F2B

 

Undervisningsform:

Forelæsninger og grupperegninger.

Kursets varighed:

13-uger

Eksamensplacering:

E2B,   F2B 

Evalueringsform:

Varighed eksamen:

Hjælpemidler:

Bedømmelsesform:

Faglige forudsætninger:

Ønskelige forudsætninger:

                                          

Overordnede kursusmål:

At få kendskab til begreberne 'algoritme' og 'datastruktur'. At blive i stand til at analysere og konstruere algoritmer. At kunne beskrive, vurdere og anvende algoritmer til sortering, søgning og beregning på grafer.


Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:

  • omforme løst beskrevne algoritmer til algoritmer i pseudokode.
  • konstruere både iterative og rekursive algoritmer i pseudokode, og kunne oversætte algoritmer fra den ene til den anden type.
  • lave beregninger som involverer udtryk i asymptotisk notation.
  • foretage basale analyser af algoritmer, herunder være i stand til at bestemme køretider.
  • formulere simple korrekthedsbeviser for algoritmer, herunder være i stand til at bestemme løkke-invarianter.
  • implementere ikke-trivielle datastrukturer og algoritmer samt lave passende tests og emperiske analyser af dem.
  • anvende, analysere og sammenligne en række basale sorterings-algoritmer.
  • anvende, analysere og sammenligne en række basale algoritmer på grafer og træer.
  • analysere, vurdere og sammenligne forskellige implementationer af givne datastrukturer.
  • foretage et kvalificeret valg af datastrukturer og algoritmer givet et problem som skal løses.
  • konstruere egne simple algoritmer udfra en beskrivelse af et problem som skal løses.


Kursusindhold:

Begrebet algoritme; begreberne graf og træ; rekursion og iteration; fundamentale algoritmer til sortering af data (fletsortering, hobsortering m.m.); teknikker til analyse af algoritmers effektivitet (køretidsanalyser); O-notation m.m.; elementære datastrukturer (stakke, køer, lænkede lister m.m.); avancerede datastrukturer (hash-tabeller, binære søgetræer m.m.); algoritmer på grafer (bredde-først søgning, dybde-først søgning, topologisk ordning, korteste stier af vægtede grafer m.m.).


Litteratur::

T. Corman et al.: Introduction to Algorithms, Second Edition, The MIT Press, 2001.


Kursusansvarlig:

Paul Fischer, 322, 113, (+45) 4525 3713, paf@imm.dtu.dk  
Thomas Bolander, 322, 130, (+45) 4525 3715, tb@imm.dtu.dk  

Institut:

02 Institut for Informatik og Matematisk Modellering

Tilmelding:

I CampusNet
Sidst opdateret: 23. januar, 2008