Introduktion til DM507

Størrelse: px
Starte visningen fra side:

Download "Introduktion til DM507"

Transkript

1 Introduktion til DM507 Rolf Fagerberg Forår / 20

2 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20

3 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA sidefag i Datalogi 2 / 20

4 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA sidefag i Datalogi Stor diversitet: forskellige semestre (2./4./6.) i uddannelsen, forskellige mængder af programmering og af matematiske fag på uddannelsen. 2 / 20

5 Kursets format 3 / 20

6 Kursets format Forudsætninger: Programmering i Java, lidt matematik 3 / 20

7 Kursets format Forudsætninger: Format: Programmering i Java, lidt matematik Forelæsninger (I-timer). Ofte 3 x 30 min. Opgaveregning (TE-timer). Med instruktor. Arbejde selv og i studiegrupper 3 / 20

8 Kursets format Forudsætninger: Format: Programmering i Java, lidt matematik Forelæsninger (I-timer). Ofte 3 x 30 min. Opgaveregning (TE-timer). Med instruktor. Arbejde selv og i studiegrupper Eksamenform: Skriftlig eksamen (juni): Multiple-choice (med bøger, noter, computer). efter 7-skala. Mål: check af kendskab til stoffet. Projekt undervejs: Karakter I flere dele. Karakter B/IB. Skal bestås for at gå til skriftlig eksamen. Mål: træne overførsel af stoffet til praksis (programmering). 3 / 20

9 Materialer Lærebog: Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 3rd edition, / 20

10 Materialer Lærebog: Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 3rd edition, / 20

11 Materialer Lærebog: Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 3rd edition, Andet læremateriale på kursets webside: Slides fra forelæsninger Links til videoer Opgaver til øvelsestimer Tidligere eksamenssæt Projektet 4 / 20

12 Materialer Lærebog: Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 3rd edition, Andet læremateriale på kursets webside: Slides fra forelæsninger Links til videoer Opgaver til øvelsestimer Tidligere eksamenssæt Projektet Stoffet findes i fuld detalje i tre udgaver: lærebog, slides, video. Brug de dele, som virker bedst for dig (gerne flere dele). 4 / 20

13 Forventet arbejdsindsats Skim stof før forelæsning: 0,5 timer Forelæsning: 2 timer Læs stof efter forelæsning: 1,5 timer Opgaveregning (forberedelse): 3 timer Opgaveregning (klasse): 2 timer 5 / 20

14 Forventet arbejdsindsats Skim stof før forelæsning: 0,5 timer mindst vigtig Forelæsning: 2 timer Læs stof efter forelæsning: 1,5 timer Opgaveregning (forberedelse): 3 timer mest vigtig Opgaveregning (klasse): 2 timer 5 / 20

15 Forventet arbejdsindsats Skim stof før forelæsning: 0,5 timer mindst vigtig Forelæsning: 2 timer Læs stof efter forelæsning: 1,5 timer Opgaveregning (forberedelse): 3 timer mest vigtig Opgaveregning (klasse): 2 timer Projektet: timer Eksamenslæsning: 40 timer Spørgetime og eksamen: 6 timer 5 / 20

16 Forventet arbejdsindsats Skim stof før forelæsning: 0,5 timer mindst vigtig Forelæsning: 2 timer Læs stof efter forelæsning: 1,5 timer Opgaveregning (forberedelse): 3 timer mest vigtig Opgaveregning (klasse): 2 timer Projektet: timer Eksamenslæsning: 40 timer Spørgetime og eksamen: 6 timer I alt: = 290 timer 5 / 20

17 Forventet arbejdsindsats Skim stof før forelæsning: 0,5 timer mindst vigtig Forelæsning: 2 timer Læs stof efter forelæsning: 1,5 timer Opgaveregning (forberedelse): 3 timer mest vigtig Opgaveregning (klasse): 2 timer Projektet: timer Eksamenslæsning: 40 timer Spørgetime og eksamen: 6 timer I alt: = 290 timer 10 ECTS = 1/6 årsværk = 1650/6 timer = 275 timer 5 / 20

18 Kursets formål og plads i det store billede 6 / 20

19 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. 6 / 20

20 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: 6 / 20

21 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: Hvordan skrives programmer? Programmering, programmeringssprog, software engineering. 6 / 20

22 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: Hvordan skrives programmer? Programmering, programmeringssprog, software engineering. Hvordan skal programmet løse opgaven? Algoritmer og datastrukturer, lineær programmering, databasesystemer. 6 / 20

23 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: Hvordan skrives programmer? Programmering, programmeringssprog, software engineering. Hvordan skal programmet løse opgaven? Algoritmer og datastrukturer, lineær programmering, databasesystemer. (Hvor godt) er det overhovedet muligt at løse opgaven? Nedre grænser, kompleksitet, beregnelighed. 6 / 20

24 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: Hvordan skrives programmer? Programmering, programmeringssprog, software engineering. Hvordan skal programmet løse opgaven? Algoritmer og datastrukturer, lineær programmering, databasesystemer. (Hvor godt) er det overhovedet muligt at løse opgaven? Nedre grænser, kompleksitet, beregnelighed. Hvordan fungerer maskinen der udfører opgaven? Baggrundsviden om computerarkitektur og operativsystemer. 6 / 20

25 Kursets formål og plads i det store billede Generelt mål i IT: Få computer til at udføre en opgave. Relaterede spørgsmål: Hvordan skrives programmer? Programmering, programmeringssprog, software engineering. Hvordan skal programmet løse opgaven? DM507 Algoritmer og datastrukturer, lineær programmering, databasesystemer. (Hvor godt) er det overhovedet muligt at løse opgaven? Nedre grænser, kompleksitet, beregnelighed. Hvordan fungerer maskinen der udfører opgaven? Baggrundsviden om computerarkitektur og operativsystemer. 6 / 20

26 Fokus: Hvordan skal programmet løse opgaven? 7 / 20

27 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. 7 / 20

28 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... 7 / 20

29 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... Datastruktur = data + effektive operationer herpå. 7 / 20

30 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... Datastruktur = data + effektive operationer herpå. Forskellige datastrukturer gemmer forskellige typer data og/eller tilbyder forskellige operationer. Har stor anvendelse som delelement i algoritmer. 7 / 20

31 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... Datastruktur = data + effektive operationer herpå. Forskellige datastrukturer gemmer forskellige typer data og/eller tilbyder forskellige operationer. Har stor anvendelse som delelement i algoritmer. Relevante opgaver for ethvert beregningsproblem: 1. Find (mindst) én algoritme der løser problemet. 7 / 20

32 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... Datastruktur = data + effektive operationer herpå. Forskellige datastrukturer gemmer forskellige typer data og/eller tilbyder forskellige operationer. Har stor anvendelse som delelement i algoritmer. Relevante opgaver for ethvert beregningsproblem: 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 7 / 20

33 Fokus: Hvordan skal programmet løse opgaven? Algoritme = løsningsmetode. Tilpas præcist skrevet ned: præcis tekst, pseudo-kode, flow-diagrammer, formler,... Datastruktur = data + effektive operationer herpå. Forskellige datastrukturer gemmer forskellige typer data og/eller tilbyder forskellige operationer. Har stor anvendelse som delelement i algoritmer. Relevante opgaver for ethvert beregningsproblem: 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? 7 / 20

34 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? 8 / 20

35 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? Punkt 1: Kræver ideer, tænkearbejde, erfaring, og en værktøjskasse af kendte algoritmer. Korrekthed: ved analyse eller implementation/afprøvning? 8 / 20

36 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? Punkt 1: Kræver ideer, tænkearbejde, erfaring, og en værktøjskasse af kendte algoritmer. Korrekthed: ved analyse eller implementation/afprøvning? Punkt 2: Kræver definition af hvad er kvalitet. Sammenligning: ved analyse eller implementation/afprøvning? 8 / 20

37 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? Punkt 1: Kræver ideer, tænkearbejde, erfaring, og en værktøjskasse af kendte algoritmer. Korrekthed: ved analyse eller implementation/afprøvning? Punkt 2: Kræver definition af hvad er kvalitet. Sammenligning: ved analyse eller implementation/afprøvning? Analyse: Giver høj sikkerhed for korrekthed. Sparer implementationsarbejde. Sammenligning upåvirket af: maskine, sprog, programmør, konkrete input. 8 / 20

38 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? Punkt 1: Kræver ideer, tænkearbejde, erfaring, og en værktøjskasse af kendte algoritmer. Korrekthed: ved analyse eller implementation/afprøvning? Punkt 2: Kræver definition af hvad er kvalitet. Sammenligning: ved analyse eller implementation/afprøvning? Analyse: Giver høj sikkerhed for korrekthed. Sparer implementationsarbejde. Sammenligning upåvirket af: maskine, sprog, programmør, konkrete input. I alle byggefag analyserer og planlægger man før man bygger (tænk storebæltsbro). Din fremtidige chef vil forlange det! 8 / 20

39 Udvikling og vurdering af algoritmer 1. Find (mindst) én algoritme der løser problemet. 2. Sammenlign flere algoritmer der løser problemet. 3. Hvad er den bedste algoritme der kan findes? Punkt 1: Kræver ideer, tænkearbejde, erfaring, og en værktøjskasse af kendte algoritmer. Korrekthed: ved analyse eller implementation/afprøvning? Punkt 2: Kræver definition af hvad er kvalitet. Sammenligning: ved analyse eller implementation/afprøvning? Analyse: Giver høj sikkerhed for korrekthed. Sparer implementationsarbejde. Sammenligning upåvirket af: maskine, sprog, programmør, konkrete input. I alle byggefag analyserer og planlægger man før man bygger (tænk storebæltsbro). Din fremtidige chef vil forlange det! (Bemærk: Punkt 3 kan kun afklares med analyse.) 8 / 20

40 Målsætning for kurset 9 / 20

41 Målsætning for kurset DM507 giver dig en værktøjskasse af algoritmer for fundamentale problemer, samt metoder til at udvikle og analysere nye algoritmer og varianter af eksisterende. 9 / 20

42 Målsætning for kurset Regneøvelser og programmeringsprojekter øger din forståelse for værktøjerne og træner dig i brug af værktøjskassen. 10 / 20

43 Målsætning for kurset Regneøvelser og programmeringsprojekter øger din forståelse for værktøjerne og træner dig i brug af værktøjskassen. Undervejs begejstres du måske også over smarte og elegante ideer i algoritmer og analyser. 10 / 20

44 Konkret indhold af kurset 11 / 20

45 Konkret indhold af kurset Algoritmer: Analyse af algoritmer: korrekthed og køretid Del og hersk algoritmer Grådige algoritmer Dynamisk programmering Sortering Graf-algoritmer Huffman-kodning Datastrukturer: Ordbøger (søgetræer og hashing) Prioritetskøer (heaps) Disjunkte mængder 11 / 20

46 Algoritmeanalyse 12 / 20

47 Algoritmeanalyse Mindstekrav til algoritmer for at løse et problem: Stopper for alle input. Korrekt output når stopper. 12 / 20

48 Algoritmeanalyse Mindstekrav til algoritmer for at løse et problem: Stopper for alle input. Korrekt output når stopper. Kvalitet af algoritmer som opfylder mindstekrav: Hastighed Pladsforbrug Kompleksitet af implementation Ekstra egenskaber (problemspecifikke), f.eks. stabilitet af sortering. 12 / 20

49 Algoritmeanalyse Mindstekrav til algoritmer for at løse et problem: Stopper for alle input. Korrekt output når stopper. Kvalitet af algoritmer som opfylder mindstekrav: Hastighed Pladsforbrug Kompleksitet af implementation Ekstra egenskaber (problemspecifikke), f.eks. stabilitet af sortering. For dette kræves følgende ingredienser: klar beskrivelse af problem og maskine (modeller), en definition af kvalitet, samt en værktøjskasse af analyseredskaber. 12 / 20

50 Ingredienser i algoritmeanalyse 13 / 20

51 Ingredienser i algoritmeanalyse Model af problem. Individuelt for hvert problem. 13 / 20

52 Ingredienser i algoritmeanalyse Model af problem. Individuelt for hvert problem. Model af maskine. Ofte RAM-modellen (alias von Neumann modellen). 13 / 20

53 Ingredienser i algoritmeanalyse Model af problem. Individuelt for hvert problem. Model af maskine. Ofte RAM-modellen (alias von Neumann modellen). Mål for ressourceforbrug (tid og plads). 13 / 20

54 Ingredienser i algoritmeanalyse Model af problem. Individuelt for hvert problem. Model af maskine. Ofte RAM-modellen (alias von Neumann modellen). Mål for ressourceforbrug (tid og plads). Analyseværktøjer: Løkkeinvarianter, induktion, rekursionsligninger. 13 / 20

55 RAM-modellen 14 / 20

56 RAM-modellen En CPU En hukommelse ( uendeligt array af celler). Et antal basale operationer: add, sub, mult, shift, compare, flyt dataelement, jump i program (løkke, forgrening, metodekald). Disse antages alle at tage samme tid. Tid for en algoritme: antal basale operationer udført. Plads for en algoritme: maks antal optagne hukommelsesceller. 14 / 20

57 Måle ressourceforbrug 15 / 20

58 Måle ressourceforbrug For en givet størrelse n af input er der ofte mange forskellige input instanser. Algoritmen har som regel forskelligt ressourceforbrug på hver af disse. Hvilket skal vi bruge til at vurdere ressourceforbruget? 15 / 20

59 Måle ressourceforbrug For en givet størrelse n af input er der ofte mange forskellige input instanser. Algoritmen har som regel forskelligt ressourceforbrug på hver af disse. Hvilket skal vi bruge til at vurdere ressourceforbruget? Worst case (max over alle input af størrelse n) Average case (gennemsnit over en fordeling af input af størrelse n) Best case (min over alle input af størrelse n) Køretid for de forskellige input af størrelse n 15 / 20

60 Worst case ressourceforbrug Worst case giver garanti. Ofte repræsentativ for average case (men nogen gange betydeligt mere pessimistisk). 16 / 20

61 Worst case ressourceforbrug Worst case giver garanti. Ofte repræsentativ for average case (men nogen gange betydeligt mere pessimistisk). Average case: Hvilken fordeling? Er den realistisk? Ofte svær analyse at gennemføre (matematisk svær). 16 / 20

62 Worst case ressourceforbrug Worst case giver garanti. Ofte repræsentativ for average case (men nogen gange betydeligt mere pessimistisk). Average case: Hvilken fordeling? Er den realistisk? Ofte svær analyse at gennemføre (matematisk svær). Best case: Giver som regel ikke megen relevant information. 16 / 20

63 Worst case ressourceforbrug Worst case giver garanti. Ofte repræsentativ for average case (men nogen gange betydeligt mere pessimistisk). Average case: Hvilken fordeling? Er den realistisk? Ofte svær analyse at gennemføre (matematisk svær). Best case: Giver som regel ikke megen relevant information. Næsten alle analyser i dette kursus er worst case. 16 / 20

64 Forskellige inputstørrelser Worstcase køretid er normalt en voksende funktion af inputstørrelsen n: Køretid for de forskellige input af stigende størrelse n 17 / 20

65 Voksehastighed Forbruget skal derfor ses som en funktion f (n) af inputstørrelsen n. 18 / 20

66 Voksehastighed Forbruget skal derfor ses som en funktion f (n) af inputstørrelsen n. Vi har derfor brug for at sammenligne funktioner. Det relevante mål er voksehastighed - en hurtigere voksende funktion vil altid overhale en langsomt voksende funktion når n bliver stor nok. Og for små n er (næsten) alle algoritmer hurtige. 18 / 20

67 Voksehastighed Eksempler (stigende voksehastighed): 1, log n, n, n/ log n, n, n log n, n n, n 2, n 3, n 10, 2 n 19 / 20

68 Voksehastighed Eksempler (stigende voksehastighed): 1, log n, n, n/ log n, n, n log n, n n, n 2, n 3, n 10, 2 n Næste gang: mere præcis definition af asymptotisk voksehastighed og sammenligninger heraf. 19 / 20

69 Konkret eksempel på algoritmeanalyse Ombytningspuslespil / 20

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

Læs mere

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA

Læs mere

Rolf Fagerberg. Forår 2014

Rolf Fagerberg. Forår 2014 Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig

Læs mere

Rolf Fagerberg. Forår 2012

Rolf Fagerberg. Forår 2012 Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Kursusbeskrivelsen Kursusbeskrivelsen: Algoritmer og datastrukturer 1 Formål Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer: Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

Læs mere

DM02 Kogt ned. Kokken. Januar 2006

DM02 Kogt ned. Kokken. Januar 2006 DM02 Kogt ned Kokken Januar 2006 1 INDHOLD Indhold 1 Asymptotisk notation 2 2 Algoritme analyse 2 3 Sorterings algoritmer 2 4 Basale datastrukturer 3 5 Grafer 5 6 Letteste udspændende træer 7 7 Disjunkte

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Analyse af ombytningspuslespil

Analyse af ombytningspuslespil Analyse af ombytningspuslespil 1 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset webside. 2 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer

Perspektiverende Datalogi Klassiske Algoritmer Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet

Læs mere

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt

Læs mere

Perspektiverende Datalogikursus

Perspektiverende Datalogikursus Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 27. august 2004 1 Indhold Mere om Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 29. april, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014

Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014 Datalogistudiet Rolf Fagerberg Institut for Matematik og Datalogi Syddansk Universitet Studiestart, 1. september 2014 Datalogistudiet Studiestart, 1. september, 2014 1 / 15 Hvad arbejder du med bagefter?

Læs mere

Perspektiverende Datalogi Klassiske Algoritmer. Gerth Stølting Brodal

Perspektiverende Datalogi Klassiske Algoritmer. Gerth Stølting Brodal Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal Ugens Program Mandag 10.15 12.00 Introduktion til Algoritmik Gerth Stølting Brodal Tirsdag 9.15 12.00 Øvelser Open Learning Center 12.15

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Læs mere

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige

Læs mere

Læseplan for Foråret 2017, Odense

Læseplan for Foråret 2017, Odense Matematik-Økonomi, 2. semester Semestret starter onsdag den 1. februar 2017. For fag udbudt af Samfundsvidenskab gælder, at øvelserne starter efter, at første forelæsning har fundet sted, medmindre andet

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2009 - juni 2010 Institution HTX Sukkertoppen/Københavns Tekniske Skole Uddannelse Fag og niveau Lærer(e)

Læs mere

Prioritetskøer og hobe. Philip Bille

Prioritetskøer og hobe. Philip Bille Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012 Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Datalogistudiet. Institut for Matematik og Datalogi (IMADA) SDU. Information til kommende studerende

Datalogistudiet. Institut for Matematik og Datalogi (IMADA) SDU. Information til kommende studerende Datalogistudiet Institut for Matematik og Datalogi (IMADA) SDU Information til kommende studerende Indhold Hvad er datalogi? Hvad arbejder man med bagefter? Hvordan er det at studere? Hvordan er instituttet

Læs mere

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid (RAM-modellen vs. virkeligheden) public class Linear { public static void main(string[] args) { long time = System.currentTimeMillis(); long

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 16. november 2010. Kontaktpersoner

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 16. november 2010. Kontaktpersoner Evalueringsrapport Matematik & Datalogi 16. november 2010 Kontaktpersoner Rojin Kianian - rokia08@imada.sdu.dk Michael Vejlegård Kristensen - goood05@student.sdu.dk Monika Møbjerg Andersen - nders06@student.sdu.dk

Læs mere

Software Engineering 11 28,9% Matematik-Økonomi 9 23,7% Datalogi 14 36,8% Fysik 2 5,3% Andet (angiv herunder) 2 5,3% I alt ,0%

Software Engineering 11 28,9% Matematik-Økonomi 9 23,7% Datalogi 14 36,8% Fysik 2 5,3% Andet (angiv herunder) 2 5,3% I alt ,0% Hvad er din studieretning: Software Engineering 11 28,9% Matematik-Økonomi 9 23,7% Datalogi 14 36,8% Fysik 2 5,3% Andet (angiv herunder) 2 5,3% Hvor mange timer om ugen har du gennemsnitligt brugt på det

Læs mere

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 1 November 212, kl. 1 14 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af computer

Læs mere

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer.

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer. 14 Algoritmeanalyse. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. O og Ω. Køretid for forskellige kontrolstrukturer. Eksempler på algoritmeanalyse. Eksponentiel og polynomiel

Læs mere

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem Eksamensopgaver datalogi, dlc 2011 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Eksempel på muligt eksamenssæt i Diskret Matematik

Eksempel på muligt eksamenssæt i Diskret Matematik Eksempel på muligt eksamenssæt i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet???dag den?.????, 20??. Kl. 9-13. Nærværende eksamenssæt består af 13 nummererede sider med

Læs mere

Minimum udspændende Træer (MST)

Minimum udspændende Træer (MST) Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træer

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515) Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den Juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 2. juni 2011. Kontaktpersoner

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 2. juni 2011. Kontaktpersoner Evalueringsrapport Matematik & Datalogi 2. juni 2011 Kontaktpersoner Christian Kudahl - chkud08@student.sdu.dk Maria Buhl Hansen - marih09@student.sdu.dk Indhold Indhold 2 1 Indledning 4 1.1 Matematik-økonomi.......................

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Mindste udspændende træ

Mindste udspændende træ Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation

Læs mere

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515) Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 2 Juni 2008, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater

Læs mere

Notat vedrørende prøveformer

Notat vedrørende prøveformer Notat vedrørende prøveformer Til brug for diskussion om prøveformer på studienævnsmøde den 1. oktober 2012 har jeg udarbejdet nedenstående liste af de prøveformer, som jeg er bekendt med. Listen og kommentarerne

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Computerstøttet beregning

Computerstøttet beregning CSB 2009 p. 1/16 Computerstøttet beregning Lektion 1. Introduktion Martin Qvist qvist@math.aau.dk Det Ingeniør-, Natur-, og Sundhedsvidenskabelige Basisår, Aalborg Universitet, 3. februar 2009 people.math.aau.dk/

Læs mere

Programmering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/

Programmering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/ Programmering 2 dprog2 E2013 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

Programmering 2. dprog2 E2012. http://www.cs.au.dk/dprog2/

Programmering 2. dprog2 E2012. http://www.cs.au.dk/dprog2/ Programmering 2 dprog2 E2012 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,

Læs mere

Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende

Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende Hans Hüttel Foråret 2011 Indhold Indhold 1 1 Kurset er lavet om! 1 2 Kursets indhold 2 2.1 Kursets emner................................ 2

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

Læs mere

Algoritmer og Datastrukturer 1

Algoritmer og Datastrukturer 1 Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

Semesterbeskrivelse OID 3. semester.

Semesterbeskrivelse OID 3. semester. Semesterbeskrivelse OID 3. semester. Semesterbeskrivelse Oplysninger om semesteret Skole: Statskundskab Studienævn: Studienævn for Digitalisering Studieordning: Studieordning for Bacheloruddannelsen i

Læs mere

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Approximations-algoritmer Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Negativt resultat om generel TSP Approximations-algoritme

Læs mere

BRP Sortering og søgning. Hægtede lister

BRP Sortering og søgning. Hægtede lister BRP 18.10.2006 Sortering og søgning. Hægtede lister 1. Opgaver 2. Selection sort (udvælgelsessortering) 3. Kompleksitetsanalyse 4. Merge sort (flettesortering) 5. Binær søgning 6. Hægtede lister 7. Øvelser:

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer 1 (003-ordning) Antal sider i opgavesættet (incl. forsiden): 10 (ti)

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 1. april 200, kl..00-11.00

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid

Analyse af algoritmer. Analyse af algoritmer. Analyse af algoritmer. Køretid Philip Bille Mål. At bestemme og forudsige resourceforbrug og korrekthed af algoritmer Eks. Virker min algoritme til at beregne korteste veje i grafer? Hvor hurtigt kører min algoritme til at søge efter

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

Læs mere

Datastrukturer. Datastruktur = data + operationer herpå

Datastrukturer. Datastruktur = data + operationer herpå Prioritetskøer Prioritetskøer? Datastrukturer Datastruktur = data + operationer herpå Datastrukturer Data: Datastruktur = data + operationer herpå Ofte en ID + associeret data. ID kaldes også en nøgle

Læs mere

CV for Lasse Nielsen

CV for Lasse Nielsen CV for Lasse Nielsen Lasse Nielsen 16. marts 2008 Personlig Data Mit navn er Lasse Nielsen, jeg er født den 17 Juni 1981 på Holbæk sygehus. Min adresse er Rektorparken 18, 7. tv. (Lokal 073) 2450 København

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).

Læs mere

M2CAL2 Calculus og Indledende Lineær algebra

M2CAL2 Calculus og Indledende Lineær algebra M2CAL2 Calculus og Indledende Lineær algebra Agenda Velkommen Præsentation mig Præsentation af M2CAL2 Kursusbeskrivelse, herunder læringsmål Eksamen Lærebøger Skema/Blackboard Kalender Fildeling En typisk

Læs mere

Eksamensopgaver datalogi, dl/vf 2010 side 1/5. 1. Lodtrækningssystem

Eksamensopgaver datalogi, dl/vf 2010 side 1/5. 1. Lodtrækningssystem Eksamensopgaver datalogi, dl/vf 2010 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)

Læs mere

Uddannelsesspecifik studieordning for bachelorog kandidatuddannelsen i Datalogi

Uddannelsesspecifik studieordning for bachelorog kandidatuddannelsen i Datalogi Uddannelsesspecifik studieordning for bachelorog kandidatuddannelsen i Datalogi Godkendt af dekanen for den 29. april 2010. Indholdsfortegnelse Kapitel 1: Uddannelsens formål og kompetenceprofil... 1 1

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,

Læs mere

1) Mennesker, computere og interaktion. Her er omdrejningspunktet basale forudsætninger for interaktion mellem mennesker og computere.

1) Mennesker, computere og interaktion. Her er omdrejningspunktet basale forudsætninger for interaktion mellem mennesker og computere. Semesterbeskrivelse OID 2. semester. Semesterbeskrivelse Oplysninger om semesteret Skole: Statskundskab Studienævn: Studienævn for Digitalisering Studieordning: Studieordning for Bacheloruddannelsen i

Læs mere

Datalogi som profession

Datalogi som profession Datalogi som profession Henrik Kragh Sørensen Institut for Videnskabsstudier, Aarhus Universitet hks@ivs.au.dk www.henrikkragh.dk Resumé Undervisningsgangens temaer: Undervisning og uddannelse i datalogi.

Læs mere

Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København

Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København Studieordning a 1. september 2012 Revideret 16. juni 2014 Revideret 19. august 2015 Indhold Indledning Kapitel

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

Rekursion og dynamisk programmering

Rekursion og dynamisk programmering Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin sommer 15 Institution VUC-vestegnen Uddannelse Fag og niveau Lærer(e) Hold Hf Matematik C Kofi Mensah 1maC05

Læs mere

Stk. 2 Tilknytning Uddannelsen hører under Studienævn for Matematik og Datalogi, og de studerende har valgret og valgbarhed til dette studienævn.

Stk. 2 Tilknytning Uddannelsen hører under Studienævn for Matematik og Datalogi, og de studerende har valgret og valgbarhed til dette studienævn. Den uddannelsesspecifikke del af studieordningen for bacheloruddannelsen i datalogi ved Det Natur- og Biovidenskabelige Fakultet, Københavns Universitet 2015 (Rev. 2015) Indholdsfortegnelse 1 Titel, tilknytning

Læs mere

Studieordning for diplomuddannelsen i informationsteknologi

Studieordning for diplomuddannelsen i informationsteknologi Studieordning for diplomuddannelsen i informationsteknologi April 2007 [v3] 1 Introduktion... 2 2 Formål... 2 3 Indhold... 2 4 Adgangskrav... 3 5 Eksaminer... 3 6 Studieplan... 3 6.1 Formelle modeller

Læs mere

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer

1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer 1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO

Læs mere

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 29. april 2010. Kontaktpersoner

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 29. april 2010. Kontaktpersoner Evalueringsrapport Matematik & Datalogi 29. april 2010 Kontaktpersoner Magnus Find - magnus06@imada.sdu.dk Niels Kjeldsen - tiels@imada.sdu.dk Tilde My Larsen - tilla07@student.sdu.dk Anders Nielsen Helmar

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Hold Termin hvori undervisningen afsluttes: maj-juni 2013 HTX

Læs mere

Program for de næste 3 1/4 dobbeltlektion

Program for de næste 3 1/4 dobbeltlektion Matricer Program for de næste 3 1/4 dobbeltlektion Tirsdag 3. september 11.00 12.00: Afsnit 8.1, 8.2, 8.3 og 8.5 Torsdag 5. september 12.30 16.15 12.30 14.15: Opgaveregning lokale 261/409 14.30: Vi mødes

Læs mere