DM507: Algoritmer og Datastrukturer (10 ECTS)

STADS: 15000701

Niveau
Bachelorkursus

Undervisningsperiode
Kurset er placeret i forårssemesteret.
3. og 4. kvartal.

Ansvarlige undervisere
Email: rolf@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Mandag 14-16 U20 05-06, 08-11, 16-21
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 05-06
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 08-11
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Mandag 14-16 U20 16-21
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 U43 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 07
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Tirsdag 12-14 U140 15
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05, 07, 09, 11, 15, 17, 19, 21
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 05
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 07
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 09
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 11
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 15
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 17
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 19
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
Fælles I Torsdag 10-12 U20 21
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11, 15-21
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 05-11
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Onsdag 14-16 U49D 15-21
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 U89a 06, 08, 10
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 06
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 08
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 10
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 16
M1 TE Fredag 12-14 U59 16,19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
M1 TE Fredag 12-14 19-20
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 U93 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 12-14 09
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 20
S7 TE Tirsdag 10-12 U151 20
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U14 05-08
S7 TE Onsdag 12-14 U51 05-08, 10-11, 15-21
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 10-11
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Onsdag 12-14 U14 15-21
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U151 06, 08, 10, 16
S7 TE Torsdag 10-12 U49D 06
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 08
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 10
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 16
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U151 18
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U49D 18
S7 TE Torsdag 10-12 U49D 18
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U24 05-11
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 15
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 17-18
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Tirsdag 14-16 U49C 20-21
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Onsdag 10-12 16
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Torsdag 14-16 18
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 06
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 08
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 10
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 16
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
S17 TE Fredag 14-16 U49C 19-20
Vis hele skemaet
Vis personligt skema for dette kursus.

Skemaændringer:
: S7 og S17 sammenlagt til S7!

Kommentar:
Ubegrænset deltagerantal. 3. + 4. kvartal.

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra Programmering A og B (DM502 og DM503) skal være kendt. Stoffet fra Matematiske Redskaber i Datalogi (DM527) anbefales kendt.

Kursusintroduktion
Kursets formål er at give kendskab til en bred vifte af fundamentale algoritmer og datastrukturer. Endvidere introduceres generelle metoder til udvikling af algoritmer, samt matematiske værktøjer til analyse af algoritmers korrekthed og effektivitet.

Forventet læringsudbytte
Ved kursets afslutning forventes den studerende at kunne
  • anvende algoritmerne fra kurset på konkrete problemer
  • argumentere præcist for en algoritmes korrekthed eller mangel på samme
  • bestemme en algoritmes asymptotiske køretid
  • tilpasse kendte algoritmer og datastrukturer til specialtilfælde af kendte problemer og til nye problemer
  • designe nye algoritmer til at løse problemer, som i natur minder om problemer fra kurset. Herunder give en præcis beskrivelse af algoritmen, f.eks. vha. pseudokode
  • foretage formålstjenlige valg af datastruktur
  • designe nye datastrukturer baseret på kendte datastrukturer
  • designe og implementere et større program, som bl.a. anvender algoritmer og datastrukturer fra kurset
  • argumentere præcist for de valg, der foretages i forbindelse med foregående 4 punkter
Emneoversigt
Matematisk grundlag:
  • rekursionsligninger
Algoritmer:
  • korrekthed og kompleksitetsanalyse
  • del og hersk algoritmer
  • grådige algoritmer
  • dynamisk programmering
  • sortering
  • graf-algoritmer
  • Huffman-kodning
Datastrukturer:
  • træer
  • ordbøger
  • prioritetskøer
  • disjunkte mængder
Litteratur
  • Meddeles ved kursets start..


Pensum
Se pensumbeskrivelse.

Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
Ingen

Eksamen- og censurform:
a) Obligatorisk projektopgave som tæller 3 ECTS ud af kurset samlede omfang på 10 ECTS. Intern censur ved én underviser. Bestået/ikke bestået. Projektopgaven skal være bestået, for at man kan deltage i eksamen. (15000712)
b) 4 timers skriftlig eksamen. Ekstern censur. Karakter efter 7-trinsskalaen. (15000702)


Reeksamen efter 4. kvartal i august. Reeksamen er en mundtlig eksamen, der bedømmes med karakter efter 7-trinsskalaen og ekstern censur.

Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

Forelæsninger (44 timer) og eksaminatorier (40 timer).
Aktiviteter i studiefasen

Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. februar 2012 til 31. august 2012.