General Info

Kursusansvarlig

Hjælpelærere

Øvelser Torsdag kl. 08:00 til 10:00 i bygning 210 (lokale: se ovenfor), og efter forelæsningen (ca. 11:15 til 12:00) i holdområderne i bygning 116.

Forelæsning Torsdag 10.15-11.15, bygning 116 auditorium 81 (det store auditorium).

Bog "Introduction to Algorithms", 3rd edition (CLRS), Cormen, Leierson, Rivest, and Stein + evt. noter.

Supplerende materiale "Competitive Programmer's Handbook" (CSES), Chap. 11-15, Laaksonen. Links: Javaversionen og Pythonversionen. Flere sprog på bogens hjemmeside.

CodeJudge Implementationsopgaver afleveres i CodeJudge.

Relaterede kurser Kurset følger samme format som civilingeniørkurset 02105 Algorithms and Data Structures; vi dækker samme emner i samme rækkefølge, og vi benytter samme ugentlige opgaver.

Screencasts Se søsterkurset 02105 for screencasts af udvalgte emner (på engelsk).

Ugeplan

Ugeplanen bliver opdateret løbende. Slides bliver lagt op løbende.

Uge Emne Slides Ugeplan Materialer
Opvarmning: Forberedelse, programmeringsforudsætninger, gåder. Warmup

^undtagen opg 3.3

Programming Prerequisites
Grundlæggende koncepter I: Introduktion, algoritmer, datastrukturer, toppunkter. 1x1 Introduktion CLRS chap. 1
Grundlæggende koncepter II: Søgning og sortering. 1x1 Søgning og sortering CLRS chap. 2
Grundlæggende koncepter III: Kompleksitet, asymptotisk notation, empirisk analyse. 1x1 Analyse af algoritmer CLRS chap. 3
Datastrukturer I: Stakke, køer, hægtede lister, træer 1x1 Introduktion til datastrukturer CLRS intro to part III + chap. 10
Grafalgoritmer I: Urettede grafer, repræsentationer, søgning, modellering. 1x1 Introduktion til grafer CLRS intro to part VI + chap. 22.1-22.4 + appendix B.4-B.5.
Grafalgoritmer II: Rettede grafer, topologisk sortering, implicitte grafer 1x1 Rettede grafer CLRS intro to part VI + chap. 22.1-22.4 + appendix B.4-B.5.
Datastrukturer II: Prioritetskøer, hobe. 1x1 Prioritetskøer og hobe CLRS chap. 6 + appendix B.5
Datastrukturer III: Foren-og-find, dynamiske sammenhængskomponenter. 1x1 Foren og find CLRS chap. 21 except 21.4 + Algorithms, 4ed. chap. 1.5
Grafalgoritmer III: Mindste udspændende træer, Prims algoritme, Kruskals algoritme 1x1 Mindste udspændende træ CLRS chap. 23.
Grafalgoritmer IV: Dijkstras algoritme, korteste veje i vægtede grafer, korteste veje i acykliske rettede grafer 1x1 Korteste veje CLRS chap. 24 except 24.1 and 24.4.
Datastrukturer IV: Dynamiske mængder, hashing. 1x1 Hashing CLRS chap. 11 except 11.5.
Videre læsning (udenfor pensum), se også: noter om hashing
Datastrukturer V: Træalgoritmer, forgængerproblemet, binære søgetræer. 1x1 Binære søgetræer
Binary Search Trees
CLRS chap. 12 except 12.4.
Afslutning og spørgetime. Eksamenssæt 2015

Gamle Eksamener

BEng
02326-2014
02326-2015
02326-2017
02326-2018
02326-2019
02326-2022
-->

Ofte stillede spørgsmål

Hvad betyder "Giv en algoritme"? Find en effektiv algoritme, beskriv den klart og koncist, argumenter for korrekthed og analyser dens køretid. Med mindre andet er angivet, menes naturligt sprog og ikke pseudokode.

Foregår undervisningen fysisk eller på zoom? Undervisningen foregår fysisk på Lyngby Campus.

Hvilket sprog foregår undervisningen på? Forelæsningerne er på dansk.

Hvad skal jeg forberede til næste uge? Inden torsdag morgen i kursets n'te uge forventes du at have løst opgaverne på ugesedl nr. (n-1) og læst materialet til uge nr. n. Første uge er uge nr 1.

Hvor og hvornår er eksamen? Se DTUs eksamensskema.

Må jeg følge kurset som civilingeniørstuderende? Det kan give problemer med studieordningen. Følg hellere 02105. Omvælg hurtigst muligt i studieplanlæggeren.