02105 Algoritmer og datastrukturer 1

2024/2025

Kursusinformation
Algorithms and Data Structures 1
Engelsk
5
Bachelor
Kurset udbydes som enkeltfag
Teknologiske linjefag, se flere
Teknologiske linjefag, Kunstig Intelligens og Data
Teknologiske linjefag, Data Science og Management
Teknologiske linjefag, Cyberteknologi
Teknologiske linjefag, General Engineering
Teknologiske linjefag, Softwareteknologi
Retningsspecifikt kursus (BSc), se flere
Retningsspecifikt kursus (BSc), Data Science og Management
Retningsspecifikt kursus (BSc), Medicin og teknologi
Retningsspecifikt kursus (BSc), Computer Engineering
Retningsspecifikt kursus (BSc), Cyberteknologi
Retningsspecifikt kursus (BSc), General Engineering
Retningsspecifikt kursus (BSc), Softwareteknologi
Retningsspecifikt kursus (BSc), Kunstig Intelligens og data
Tilvalgskursus (B Eng), se flere
Tilvalgskursus (B Eng), Bygningsdesign
Tilvalgskursus (B Eng), Elektroteknologi
Tilvalgskursus (B Eng), Global Business og Engineering
Tilvalgskursus (B Eng), Sundhedsteknologi
Tilvalgskursus (B Eng), Mobilitet, transport og logistik
Tilvalgskursus (B Eng), Produktion
F2B (tors 8-12)
Campus Lyngby
Forelæsninger og grupperegninger. Undervisningen udbydes parallelt på både engelsk og dansk såvidt muligt.
13-uger
F2B
Skriftlig eksamen og bedømmelse af opgave(r)
Skriftlig eksamen: 4 timer
Alle hjælpemidler - uden adgang til internettet :

Udover simple text editering software er elektroniske værktøjer (fx. kunstig intelligens, internet søgning, etc.) ikke tilladt.

7-trins skala , ekstern censur
02326
(02002/02003/02100/02101/02102).­(01017/01019) , Et kursus i indledende programmering + et indledende kursus i diskret matematik. Eller tilsvarende kompetencer.
Philip Bille , Tlf. (+45) 4525 3647 , phbi@dtu.dk
Inge Li Gørtz , Tlf. (+45) 4525 3673 , inge@dtu.dk
01 Institut for Matematik og Computer Science
http://courses.compute.dtu.dk/02105/
I studieplanlæggeren
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.
  • Argumentere for korrekthed af algoritmer.
  • Analysere 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 grafer til at modellere en given problemstilling.
  • Anvende og analysere basale grafalgoritmer, f.eks. BFS, DFS og Dijkstras algoritme.
  • 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.
  • Implementere og afprøve datastrukturer og algoritmer, samt lave passende test og empiriske analyser af dem.
  • Være i stand til i et klart sprog at argumentere for valg foretaget i forbindelse med løsning af et problem.
Kursusindhold
Begrebet algoritme; begreberne graf og træ; rekursion og iteration; fundamentale algoritmer til sortering af data; teknikker til analyse af algoritmers effektivitet (køretidsanalyser); O-notation m.m.; elementære datastrukturer (stakke, køer, hægtede lister m.m.); avancerede datastrukturer (hobe, binære søgetræer m.m.); algoritmer på grafer (bredde-først søgning, dybde-først søgning, topologisk ordning m.m.).
Litteraturhenvisninger
"Introduction to Algorithms" af Cormen, Leierson, Rivest og Stein.
Sidst opdateret
02. maj, 2024