Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Størrelse: px
Starte visningen fra side:

Download "Skriftlig Eksamen Algoritmer og Datastrukturer (dads)"

Transkript

1 Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl

2 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal. Udover et tals værdi, a, skal vi betragte dets binære representation A, som er et array hvori værdierne er enten 0 eller 1. De mindst-betydende cifre står til venstre. Eksempelvis har tallet a = 57 den binære representation A : [1, 0, 0, 1, 1, 1]. Hvis den binære repræsentation af et tal indeholder n cifre, betegner vi den som sædvanligt med A[0..n], ligesom A[0..k] betegner den del af tallet der består af de k mindst-betydende cifre. I eksemplet ovenfor er A[0..6] lig med 57, medens A[0..4] er lig med 9. Endelig bruger vi den sædvanlige notation + og for addition og multiplikation af heltal. Spørgsmål a: Bevis at der for vilkårlige positive heltal a, b og for k > 0 gælder a B[0..(k + 1)] = a B[0..k] + a B[k] 2 k, hvor B angiver den binære representation af b. Betragt nu følgende algoritme. Algoritme: Heltalsmultiplikation Input : a, b, positive heltal, med b givet ved sin binære repræsentation B. Output : S = a b Metode : S 0; k 0; {I}while k < B do S S + a B[k]; a 2 a; k k + 1 Spørgsmål b: Angiv en passende gyldig invariant I, og angiv hvilke bevisbyrder, der skal eftervises i et gyldighedsbevis. Spørgsmål c: Eftervis bevisbyrderne fra spørgsmål b, og argumenter for at algoritmen er korrekt.

3 Opgave 2 (25%) En internet-søgemaskine opbevarer en stor delmængde af de tilgængelige websider på internettet. Siderne kan opfattes som en orienteret graf, hvor grafens knuder svarer til web-siderne og hvor der findes en kant fra en knude u til en knude v hvis og kun hvis der på siden svarende til u er et link til siden svarende til v. Hvis en forespørgsel til en søgemaskine resulterer i flere mulige svar i form af en liste af relevante web-sider, så ønskes disse sorteret efter aftagende relevans. I denne opgave betragtes tre mulige mål for relevansen af en side, alle baseret på den intution at en side er relevant, hvis mange andre sider refererer til den. Nedenstående tre spørgsmål beskæftiger sig hvert med eet af disse mål. Et eksempel med alle tre mål findes sidst i opgaven. Vi antager i det følgende at grafen er givet ved adjacency list repræsentationen og at der som sædvanligt er henholdsvis n knuder og m kanter i grafen. Længden af en sti i grafen er som sædvanligt antallet af kanter der indgår i stien. Afstanden fra en knude u til en knude v er længden af den korteste sti fra u til v, og betegnes d(u, v). Hvis der ingen sti findes fra u til v, er d(u, v) =. Spørgsmål a: Beskriv en algoritme, der beregner indgraden af hver knude i grafen. Hvad er udførselstiden for algoritmen som funktion af n og m? Spørgsmål b: Beskriv en algoritme, der for hver knude v beregner for hvor mange knuder u (u v) der findes en sti fra u til v. Hvad er udførselstiden for algoritmen? Spørgsmål c: Beskriv en algoritme, der for hver knude v beregner summen ( 1 d(u,v), 2) u N(v) hvor N(v) er de knuder u som opfylder u v d(u, v). D.v.s. en knude med afstand k til v bidrager med ( 1 2 )k til summen for v. Hvad er udførselstiden af algoritmen? Eksempel: Tabellen nedenfor angiver de beregnede værdier i spørgsmål a til c for nedenstående graf. Indgangen med 5/4 fremkommer ved at d(0, 5) = d(1, 5) = 3, d(4, 5) = d(6, 5) = 2, og d(3, 5) = 1. Summen for 5 er derfor 2 (1/2) 3 +2 (1/2) 2 + (1/2) 1 = 5/ v a b c 1/2 0 3/2 3/2 1 5/4 1

4 Opgave 3 (25%) Betragt en mængde {x 1, x 2,...,x n } af n forskellige tal (n 2). Opstillet i numerisk orden x i1 < x i2 <... < x in kalder vi (x ij, x ij+1 ) et nabo-par med afstand d j = x ij+1 x ij, og kalder for mængdens min-afstand. d = min{d j 1 j n 1} Spørgsmål a: Angiv min-afstand for nedenstående mængde. {4, 26, 1, 10, 23, 17} Spørgsmål b: Beskriv hvordan man givet en mængde af n forskellige tal kan finde min-afstand i tid O(n logn). Vi ønsker nu at vedligeholde en mængde S under følgende operationer. insert(x) : Indsæt tallet x i mængden. delete(x) : Slet tallet x fra mængden. min-afstand() : Returner min-afstanden for den aktuelle mængde. Spørgsmål c: Beskriv hvorledes et balanceret søgetræ kan udvides så insert og delete tager tid O(log n) og min-afstand tager tid O(1), hvor n betegner antal tal i mængden før operationen udføres. Vi ønsker nu at tilføje en operation interval-min-afstand(y 1, y 2 ), der returner min-afstand for mængden [y 1, y 2 ] S. Eksempel: interval-min-afstand(2, 23) på overstående mængde returnerer 6, hvilket er afstanden for både nabo-parret (4, 10) og naboparret (17, 23). Spørgsmål d: Beskriv hvordan man til operationerne fra spørgsmål c kan tilføje operationen interval-min-afstand, således at min-afstand udføres i tid O(1) og de tre andre operationer i tid O(log n).

5 Opgave 4 (25%) I denne opgave betragtes en mængde positive heltal x 1, x 2,...,x n, hvis sum er lig S. Vi ønsker at udvikle en algoritme, der kan finde en delmængde af tallene, hvis sum kommer tættest muligt på S/2. Betragt følgende udsagn: U(s, k): Der findes en delmængde af x 1, x 2,...,x k, hvis sum er lig med s. Spørgsmål a: Lad {x 1, x 2 } = {1, 3}. Udfyld følgende tabel med sandhedsværdierne for U(s, k) for 0 s 4 og 0 k 2. k s Det påstås at U(s, k) opfylder følgende rekursionsformel. U(s, k) = True hvis s = 0 False hvis (s > 0) (k = 0) U(s, k 1) hvis x k > s U(s, k 1) U(s x k, k 1) hvis x k s Spørgsmål b: Argumenter for denne påstand. Spørgsmål c: Angiv en algoritme baseret på dynamisk programmering, der givet x 1, x 2,...,x n, S og K beregner alle værdier U(s, k) for 0 s S og 0 k K. Argumenter for algoritmens udførelsestid. Spørgsmål d: Hvordan kan man udvide algoritmen ovenfor til at finde en delmængde af tallene x 1, x 2,...,x n hvis sum er tættest muligt på S/2?

6 Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 13. august 2002, kl

7 Opgave 1 (25%) Betragt følgende algoritme, som kvadrerer et positivt heltal ved udelukkende at anvende addition, subtraktion og halvering af lige tal. Algoritme : Kvadrering Input : heltal A 1 Output : r = A 2 Metode : a 1; b 0; c 0; x A; { A 2 = ax 2 + bx + c x 1 } while x > 1 do if x er lige then a a + a + a + a; b b + b; x x/2 else c c + a + b; b b + a + a; x x 1 r a + b + c Spørgsmål a: Angiv hvilke bevisbyrder der skal eftervises i et gyldighedsbevis for algoritmen. Spørgsmål b: Eftervis bevisbyrderne fra spørgsmål a, og argumenter for at algoritmen er korrekt. Spørgsmål c: Hvad er udførselstiden for algoritmen?

8 Opgave 2 (25%) Betragt følgende graf en såkaldt H(2)-graf som består af 2 dobbelt-sekskanter, ( ) omgivet af 3 enkelt-sekskanter ( ). Dette er et specialtilfælde af de mere generelle H(k)-grafer, som består af k dobbelt-sekskanter omgivet af k + 1 enkelt-sekskanter. Spørgsmål a: Angiv udtrykt ved k antallet af knuder og kanter i en H(k)-graf. Betragt nu en vægtet H(k)-graf, hvor de vandrette kanter i enkelt-sekskanterne har vægt 1 (øverst) og 3 (nederst), og hvor alle andre kanter i såvel enkelt- som dobbelt-sekskanterne har vægt 2. Eksempelvis har H(1)-grafen vægtet på denne måde følgende udseende Spørgsmål b: Tegn en sådan vægtet H(2)-graf og angiv et letteste udspændende træ for grafen. Spørgsmål c: Angiv vægten af et letteste udspændende træ for en sådan vægtet H(k)-graf. Argumenter for svaret. (Vink: Husk at for en sammenhængende graf med n knuder indeholder et letteste udspændende træ n 1 kanter). Lad N > 3 være et vilkårligt heltal og betragt vægtede H(k)-grafer hvor alle øvre vandrette kanter i enkelt-sekskanterne har vægt 1 og alle de nedre vandrette kanter i enkelt-sekskanterne har vægt N (N erstatter 3), og hvor alle andre kanter i grafen har vægte der er strengt større end 1 og strengt mindre end N (vægtene kan være forskellige). Spørgsmål d: Angiv en algoritme med udførselstid lineær i grafens størrelse, der finder et letteste udspændende træ for en sådan graf. Argumenter for at algoritmen er korrekt. Antag at grafen som sædvanligt er givet ved en adjacency list repræsentation

9 Opgave 3 (25%) I denne opgave betragter vi mængder af tal hvor hvert tal enten er blåt eller gult. For en mængde af n tal x 1 < x 2 < < x n, er [x i, x j ] et maksimalt blåt interval hvis x i, x i+1,...,x j alle er blå og x i 1 er gult eller i = 1, og x j+1 er gult eller j = n. Tilsvarende defineres maksimale gule intervaller. Spændvidden af et maksimalt interval [x i, x j ] er differencen x j x i. Bemærk at et maksimalt interval, der kun indeholder ét element, har spændvidde 0. Spørgsmål a: Angiv de i alt 6 maksimale blå og gule intervaller for mængden, { 1, 3, 4, 6, 8, 9, 13, 14, 18, 29, 31, 42, 57, 59, 63 }, hvor x i angiver at x i er blåt. Angiv også spændvidderne af de seks maksimale intervaller. Spørgsmål b: Beskriv en algoritme, der givet en sorteret liste af n blå og gule tal kan finde de maksimale blå og gule intervaller i tid O(n). Vi ønsker nu at vedligeholde en mængde af farvede tal under følgende operationer. insert(x, c) : Indsæt tallet x i mængden og giv det farven c. delete(x) : Slet tallet x fra mængden. count() : Returner antal maksimale intervaller (både blå og gule) i mængden. Spørgsmål c: Beskriv en datastruktur, der understøtter insert og delete i tid O(log n) og count i tid O(1), hvor n betegner antal tal i mængden før operationen udføres. Spørgsmål d: Beskriv hvorledes datastrukturen kan udvides så den understøtter en operation sum der returnerer summen af spændvidderne af de maksimale intervaller i tid O(1).

10 Opgave 4 (25%) I denne opgave antager vi at n og S er positive heltal, og at C 1, C 2,...,C n er mængder af positive heltal, hvor hver mængde højest indeholder S positive heltal. Vi ønsker at afgøre om vi kan udtage ét element fra hver mængde således at deres sum er S, dvs. om der findes n elementer, x 1, x 2,...,x n, hvor x i C i, således at ni=1 x i = S. Betragt følgende udsagn for 0 k n og 0 s S: U(k, s) : Der findes x 1 C 1, x 2 C 2,...,x k C k således at k i=1 x i = s. Spørgsmål a: Lad n = 3, S = 7, C 1 = {1, 2, 4}, C 2 = {2, 3, 5}, og C 3 = {3, 4}. Udfyld nedenstående tabel med sandhedsværdierne for U(k, s) for 0 k n og 0 s S. s k Det påstås, at U(k, s) opfylder følgende rekursionsformel. U(k, s) = True hvis (k = 0) (s = 0) False hvis (k = 0) (s > 0) True hvis (k > 0) der findes y C k : (y s) U(k 1, s y) False ellers Spørgsmål b: Argumenter for denne påstand. Spørgsmål c: Angiv en algoritme, baseret på dynamisk programmering, der givet C 1, C 2,...,C n og S beregner værdien U(n, S). Argumenter for algoritmens udførselstid.

11 Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl

12 Opgave 1 (25%) For konstanten π = gælder identiteten π 2 6 = = 1 2 i 2 Følgende algoritme beregner summen af de første n led i ovenstående sum, d.v.s Algoritme : π 2 /6 Input : heltal n 1 Output Metode : p 1; q 1; k 1; { p q = k n i=1 1 i 2 : heltal p og q, hvor p q = n i=1 1 i 2 i=1 } 1 k n while k < n do i=1 i 2 k k + 1; p p k k + q; q q k k Spørgsmål a: Angiv hvilke bevisbyrder der skal eftervises i et gyldighedsbevis for algoritmen. Spørgsmål b: Eftervis bevisbyrderne fra spørgsmål a. Spørgsmål c: Bevis at algoritmen er korrekt. Spørgsmål d: Hvor mange bits kræves til repræsentation af heltallene p henholdsvis q udtrykt som funktion af n i O-notation?

13 Opgave 2 (25%) Lad x 1 < x 2 < < x n være n heltallige elementer, og lad til hvert x i være tilknyttet en heltallig værdi y i. De n elementer og deres tilknyttede værdier kan opfattes som n punkter (x 1, y 1 ), (x 2, y 2 ),...,(x n, y n ) i planen. Opgaven beskæftiger sig med at understøtte operationen MinElementAbove(t) som returnerer det mindste element x i, hvis tilhørende værdi y i er større end eller lig med t, eller meddeler at der ikke findes et sådant element. I nedenstående figur er det returnerede element x-koordinaten af det markerede punkt. t y x Spørgsmål a: Hvad er MinElementAbove(10) for punkterne (4,9), (5,17), (19,6), (23,10), (25,15), (40,7)? I det følgende betragtes en udvidelse af rød-sorte søgetræer til opbevaring af elementerne. Lad v.x være elementet gemt i knuden v. Hver knude v udvides til også at gemme værdien v.y knyttet til v.x, og den største værdi, v.y max, tilknyttet en knude i undertræet med rod i v. Nedenstående er et udvidet rød-sort søgetræ for punkterne fra spørgsmål a. I knuderne er øverst angivet x, y og nederst y max. Røde knuder er markeret med dobbelt-cirkler. 19,6 17 4, , , , ,7 7 Spørgsmål b: Beskriv hvordan et udvidet rød-sort søgetræ kan vedligeholdes under indsættelse og sletning af elementer (og tilknyttede værdier) i tid O(log n). Spørgsmål c: Beskriv hvordan MinElementAbove(t) kan udføres i tid O(log n). Argumenter for algoritmens udførselstid og korrekthed.

14 Opgave 3 (25%) Givet to strenge S = S[1]S[2] S[n] og U = U[1]U[2] U[k], så er U en supersekvens for S hvis S er en delsekvens af U. For eksempel er ACACTGTA en supersekvens for A C C T (understregning angiver en sekvens af matchende positioner). I det følgende angiver S og T to strenge af længde henholdsvis n og m. En streng U er en korteste fælles super-sekvens for S og T, hvis U er en super-sekvens for både S og T, og der findes ikke en kortere streng der er en super-sekvens for både S og T. Spørgsmål a: Argumenter for at en korteste fælles super-sekvens for S og T har længde højest n + m, og for at en korteste fælles super-sekvens ikke altid er entydig. Lad C(i, j) betegne længden af en korteste fælles super-sekvens for S[1]S[2] S[i] og T[1]T[2] T[j] for 0 i n og 0 j m. Det påstås at C(i, j) opfylder følgende rekursionsformel. max{i, j} hvis (i = 0) (j = 0) C(i, j) = 1 + C(i 1, j 1) hvis (i > 0) (j > 0) S[i] = T[j] 1 + min{c(i, j 1), C(i 1, j)} hvis (i > 0) (j > 0) S[i] T[j] Spørgsmål b: Argumenter for ovenstående påstand. Spørgsmål c: Angiv en algoritme, baseret på dynamisk programmering, der givet S og T finder længden af en korteste fælles super-sekvens. Argumenter for algoritmens udførselstid. Spørgsmål d: Udvid algoritmen til også at finde en korteste fælles super-sekvens for S og T.

15 Opgave 4 (25%) En gitter-graf er en orienteret graf hvor knuderne er arrangeret i k rækker hver indeholdende k knuder, hvor k er et positivt heltal. Lad v i,j betegne den jte knude i den ite række. Lad s = v 1,1. En gitter-graf har følgende knuder og kanter: V = {v i,j 1 i k 1 j k} E = {(v i,j, v i,j+1 ) 1 i k 1 j < k} {(v i,j, v i,j 1 ) 1 i k 1 < j k} {(v i,j, v i+1,j ) 1 i < k 1 j k} Nedenstående figur viser gitter-grafen for k = 5. s I resten af denne opgave antager vi at alle kanter har en ikke-negativ vægt. Spørgsmål a: Lad n og m betegne henholdsvis antallet af knuder og kanter i en gitter-graf. Udtryk n og m som funktion af k. Spørgsmål b: Hvad er udførselstiden for Dijkstra s algoritme for at finde længden af de korteste veje fra s = v 1,1 til alle de øvrige knuder i en gitter-graf som funktion af k? Spørgsmål c: Beskriv en algoritme der finder længden af de korteste veje fra s = v 1,1 til alle de øvrige knuder i en gitter-graf i tid O(m). Argumenter for algoritmens udførselstid og korrekthed. En cylinder-graf er en gitter-graf udvidet med ikke-negative vægtede kanter mellem den venstre og højre knude i hver række, d.v.s. E indeholder også kanterne (v i,1, v i,k ) og (v i,k, v i,1 ) for 1 i k. Spørgsmål d: Beskriv en algoritme der finder længden af de korteste veje fra s = v 1,1 til alle de øvrige knuder i en cylinder-graf i tid O(m). Argumenter for algoritmens udførselstid og korrekthed.

16 Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Onsdag den 13. august 2003, kl

17 Opgave 1 (25%) Lad A = A[1] A[n] være et array af heltal. Længden af det længste sammenhængende delarray af A hvor alle indgange er identiske betegnes LID(A). Længden af det længste suffix af A hvor alle indgange er identiske betegnes LIDS(A). Eksempel: LID(1,2,3,3,2,2,1,1,1,1,1,2,2,4,4,2,2,2,2) = 5 LIDS(1,2,3,3,2,2,1,1,1,1,1,2,2,4,4,2,2,2,2) = 4 Betragt følgende algoritme: Algoritme : LID Input: A : Array af længde n, hvor n 1 Output: m : LID(A) Metode: r 1; m 1; i 1; { I } while i < n do Update ; i i + 1; hvor I er invarianten (r = LIDS(A[1] A[i])) (m = LID(A[1] A[i])) (i n) Spørgsmål a: Angiv hvilke bevisbyrder der skal eftervises i et gyldighedsbevis for algoritmen. Spørgsmål b: Angiv konkret kode for Update, således at bevisbyrderne fra spørgsmål a kan eftervises. Spørgsmål c: Eftervis bevisbyrderne fra spørgsmål a, og argumenter for at algoritmen er korrekt.

18 Opgave 2 (25%) Lad x 1, x 2,, x n være n forskellige heltallige elementer. Opgaven beskæftiger sig med at understøtte rang-baserede operationer. Operationen rank(y) skal returnere antallet af elementer blandt x 1,...,x n der er mindre end eller lig med y, dvs. {i x i y}. Operationen atrank(r) skal, for 1 r n, returnere det rte mindste element blandt x 1,...,x n, dvs. det x j hvor rank(x j ) = r. I det følgende betragtes en udvidelse af rød-sorte søgetræer til opbevaring af elementerne. Lad v.x være elementet gemt i knuden v. Hver knude v udvides til også at gemme v.s, der angiver antallet af elementer gemt i undertræet med rod i v. Nedenstående er et udvidet rød-sort søgetræ for elementerne 3,5,8,11,14,17. I knuderne er øverst angivet v.x og nederst v.s. Røde knuder er markeret med dobbelt-cirkler. I det givne eksempel er rank(10) = 3 og atrank(5) = Spørgsmål a: Beskriv hvordan rank(y) og atrank(r) kan udføres i tid O(log n). Argumenter for algoritmernes udførselstid og korrekthed. Spørgsmål b: Beskriv hvordan en operation Count(y, z), der returner antallet af elementer i intervallet ]y ; z], dvs. {i y < x i z}, kan udføres i tid O(log n). Argumenter for algoritmens udførselstid og korrekthed. Spørgsmål c: Beskriv hvordan et sådant udvidet rød-sort søgetræ kan vedligeholdes under indsættelse og sletning af elementer i tid O(log n).

19 Opgave 3 (25%) Betragt følgende situation: En tømrer ønsker at udmåle en bestemt længde, men har glemt sin tommestok. Til gengæld har han forskellige æsker med søm i kendte størrelser, og får den idé at udmåle længden ved at lægge søm på række efter hinanden. I denne opgave ønsker vi at beregne, hvilke længder tømreren kan udmåle med en given beholdning af søm. Vi antager at der er K æsker med søm, og at der i æske nummer i er n i søm, alle med en længde på l i centimeter. Vi ønsker at afgøre om der findes en delmængde af sømmene, hvis samlede længde er S centimeter, dvs. om der findes heltal x 1,...,x K, hvor 0 x i n i, således at K i=1 x i l i = S. Vi antager at S og l i erne alle er positive heltal. Betragt følgende udsagn U(k, s) for 0 k K og 0 s S: U(k, s) : Der findes heltal x 1,...,x k, hvor 0 x i n i, så k i=1 x i l i = s. Spørgsmål a: Lad S = 10, K = 3, l 1 = 1, l 2 = 5, l 3 = 4, n 1 = 3, n 2 = 1, og n 3 = 25. Udfyld nedenstående tabel med sandhedsværdierne for U(k, s) for 0 k K og 0 s S. s k Det påstås at U(k, s) opfylder følgende rekursionsformel. U(k, s) = Sand hvis k = 0 s = 0 Falsk hvis k = 0 s > 0 Sand hvis k > 0 der findes x k : (0 x k n k ) (x k l k s) U(k 1, s x k l k ) Falsk ellers Spørgsmål b: Argumenter for ovenstående påstand. Spørgsmål c: Angiv en algoritme, baseret på dynamisk programmering, der beregner værdien U(K, S). Argumenter for algoritmens udførselstid.

20 Opgave 4 (25%) En s t-lagdelt graf er en orienteret graf hvor knuderne er arrangeret i s rækker hver indeholdende t knuder, hvor s og t er positive heltal. Lad v i,j betegne den jte knude i den ite række. En s t-lagdelt graf har følgende knuder og kanter: V = {v i,j 1 i s 1 j t} E = {(v i,j, v i+1,k ) 1 i < s 1 j t 1 k t} Nedenstående figur viser en 5 3-lagdelt graf. v 1,1 Spørgsmål a: Lad n og m betegne henholdsvis antallet af knuder og kanter i en s t-lagdelt graf. Hvad er n og m som funktioner af s og t? Vi antager nu at alle kanter har en ikke-negativ vægt. Hvad er udførselstiden som funktion af s og t for Dijkstra s algoritme til at finde korteste afstand fra v 1,1 til alle de øvrige knuder i en s t-lagdelt graf? I resten opgaven antages at vægtene på kanterne er reelle tal (både positive og negative). Spørgsmål b: Beskriv hvordan man kan finde korteste afstand fra v 1,1 til alle de øvrige knuder i en s t-lagdelt graf i tid O(st 2 ). Spørgsmål c: Angiv som funktion af s og t udførselstiden i en s t-lagdelt graf for den variant af Floyd-Warshalls algoritme, der finder korteste afstand mellem alle par af knuder. Anvend løsningen fra spørgsmål b til at beskrive en mere effektiv algoritme, og argumenter for dennes udførselstid. Spørgsmål d: Når kanterne kan have negative vægte, vil Dijktra s algoritme ikke nødvendigvis finde korteste afstand fra v 1,1 til alle de øvrige knuder. Angiv en vægtet 3 2-lagdelt graf hvor Dijkstra s algoritme fejler, og argumenter for at den fejler på denne graf.

21 DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer (gammel ordning) Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Onsdag den 11. august 2004, kl Eksamenslokale: Trøjborg-komplekset, Niels Juelsgade 84, lok. 139, 8200 Århus N Tilladte medbragte hjælpemidler: Alle sædvanlige hjælpemidler (lærebøger og notater) Materiale der udleveres til eksaminanden: OPGAVETEKSTEN BEGYNDER PÅ NÆSTE SIDE ooo

22 Eksamen august 2004 Algoritmer og Datastrukturer (gammel ordning) Skriftlig prøve Side 2 af 6 sider Opgave 1 (25%) I denne opgave betragtes nedenstående algoritme, der givet et input array indeholdende 0-1 værdier, beregner længden af det længste delarray hvor alle indgange indeholder værdien 1. Algoritme Ones(A) Inputbetingelse : Array A af længde n 0 indeholdende 0-1 værdier Outputkrav : m = MaxOnes(A) Metode : i 0; m 0; l 0; {I} while i < n do if A[i] = 1 then l l + 1; m max{l, m} else l 0 i i + 1 hvor I er invarianten l = MaxSuffixOnes(A[0..i]) m = MaxOnes(A[0..i]) 0 i n Her betegner A[0..i] = A[0]A[1] A[i 1], MaxOnes(X) længden af det længste delarray af X kun indeholdende værdien 1, og MaxSuffixOnes(X) længden af det længste suffix af X kun indeholdende værdien 1. For nedenstående eksempel er MaxOnes(A) = MaxOnes(A[8..14]) = 6 og f.eks. er MaxSuffixOnes(A[0..17]) = MaxOnes(A[15..17]) = A Spørgsmål a: Hvilke værdier får l tildelt i linien l l + 1; i løbet af algoritmen, og hvor mange gange tildeles l de forskellige værdier på ovenstående eksempel? Spørgsmål b: Angiv hvilke bevisbyrder der skal eftervises i et gyldighedsbevis for algoritmen. Spørgsmål c: Eftervis bevisbyrderne fra spørgsmål b, og argumenter for at algoritmen er korrekt. (Opgavesættet fortsætter)

23 Eksamen august 2004 Algoritmer og Datastrukturer (gammel ordning) Skriftlig prøve Side 3 af 6 sider Opgave 2 (25%) I denne opgave betragtes en datastruktur til at opbevare en mængde af intervaller, og som understøtter forespørgsler om et punkt q er indeholdt i mindst et interval. For intervallerne [2, 9], [14, 21], [17, 30], [33, 39], [35, 58], [41, 50], [45, 54], [52, 62] gælder at f.eks. q = 10 ikke er indeholdt i et interval, hvorimod q = 53 er indeholdt i mindst et interval (faktisk tre intervaller, men dette er uvæsentligt for denne opgave). Datastrukturen for at opbevare intervallerne er et (balanceret) søgetræ, hvor hver indre knude opbevarer et interval og hvor intervallerne er gemt sorteret efter intervallernes venstre endepunkt. Hver knude opbevarer desuden en værdi r max, som er det maksimale højre endepunkt der er opbevaret i knudens undertræ. Nedenstående viser datastrukturen for ovenstående intervaller, hvor der for hver knude øverst er angivet knudens interval og nederst er angivet knudens r max værdi. 33, , ,9 17, , ,58 52, ,50 50 Spørgsmål a: Tegn en tilsvarende datastruktur for intervallerne [21, 23], [1, 6], [18, 20], [11, 13], [17, 19], [3, 8], [5, 10], [22, 24] Spørgsmål b: Beskriv hvordan et nyt interval [l, r] kan indsættes i ovenstående datastruktur, hvor det antages at træet ikke kræves balanceret efter indsættelsen. Spørgsmål c: Beskriv hvordan man under indsættelser af nye intervaller i tid O(log n) kan holde ovenstående datastruktur balanceret, d.v.s at træets højde er O(log n). Spørgsmål d: Beskriv en rekursiv procedure Covered(q), der afgør om et punkt q er indeholdt i mindst et interval. Procedurens udførelsestid skal være O(h), hvor h er træets højde. (Opgavesættet fortsætter)

24 Eksamen august 2004 Algoritmer og Datastrukturer (gammel ordning) Skriftlig prøve Side 4 af 6 sider Opgave 3 (25%) I denne opgave betragtes (r, k) gitter-grafer, som er orienterede grafer hvor knuderne er arrangeret i et gitter med r rækker og k søjler. Hver knude v har en kant til knuden umiddelbart nedenunder v i v s søjle (såfremt v ikke er i den nederste række) og en kant til knuden umiddelbart til højre for v (såfremt v ikke er i søjlen længst til højre). Den øverste venstre knude betegnes s og knuden nederst til højre betegnes t. Nedenstående er en (5, 8) gitter-graf. s t I det følgende antages alle kanter at have en ikke negativ vægt. Spørgsmål a: Angiv antal kanter m og antal knuder n i en (r, k) gitter-graf som funktion af r og k. Angiv udførelsestiden af Dijkstra s algoritme til at finde de korteste afstande fra s til t. Spørgsmål b: Angiv en algoritme med udførelsestid O(n), der beregner den korteste afstand fra s til t i en (r, k) gitter-graf. Spørgsmål c: Angiv en algoritme med udførelsestid O(n), der beregner længden af den længste sti fra s til t i en (r, k) gitter-graf. Antag nu at kanterne også kan have en negativ vægt. Spørgsmål d: Angiv en algoritme der beregner længden af den længste sti i en (r, k) gitter-graf. Angiv algoritmes udførelsestid. Bemærk at stien ikke behøver at gå fra s til t. (Opgavesættet fortsætter)

25 Eksamen august 2004 Algoritmer og Datastrukturer (gammel ordning) Skriftlig prøve Side 5 af 6 sider Opgave 4 (25%) I denne opgave betragtes to strenge S = s 1 s 2 s n T = t 1 t 2 t m af længde henholdsvis n og m. Vi ønsker at finde den fælles delsekvens for S og T der opnår den maksimale blok-score, som er defineret nedenfor. Antag at en fælles delsekvens for S og T kan deles op i p blokke B 1,...,B p, hvor B i er en sammenhængende delsekvens i både S og T. Vi definerer blok-scoren af opdelingen som B 1 + B B p p Den maksimale blok-score er blok-scoren af den fælles delsekvens for S og T der har den maksimale blok-score. For eksempel har nedenstående to strenge en maksimal blokscore på = 7. Kasserne angiver opdelingen i blokke af den fælles delsekvens for S og T. S = ab cc baca ba abad T = ab aba baca abad ad Vi definerer nu: B(i, j) = den maksimale blok-score af s 1 s 2 s i og t 1 t 2 t j. Spørgsmål a: Lad S = bbcba og T = bccbba. Udfyld følgende tabel for B(i, j) for 0 i 5 og 0 j 6. i j (Opgavesættet fortsætter)

26 Eksamen august 2004 Algoritmer og Datastrukturer (gammel ordning) Skriftlig prøve Side 6 af 6 sider Det påstås at B(i, j) opfylder følgende rekursionsformel: B(i, j) = 0 hvis i = 0 j = 0 max{b(i, j 1), B(i 1, j)} hvis s i t j max{b(i, j 1), B(i 1, j), B(i k, j k) + k 1} hvis s i = t j k 1 er maksimal så: s i = t j s i 1 = t j 1 s i k+1 = t j k+1 Spørgsmål b: Beskriv en algoritme baseret på dynamisk programmering, der givet to strenge S og T af længde henholdsvis n og m, beregner B(n, m), d.v.s. den maksimale blok-score for strengene S og T. Angiv algoritmens udførelsestid. Spørgsmål c: Beskriv en udvidelse af algoritmen fra spørgsmål b til også at rapportere en fælles delsekvens af S og T der har maksimal blok-score. Angiv algoritmens udførelsestid.

27 Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl

28 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf med r rækker af k knuder, hvor knude j i række i, for 1 i < r, har en kant til knude j 1 i række i + 1, for 1 < j k, og en kant til knude j +1 i række i+1, for 1 j < k. Desuden findes en knude s, der har kanter til alle knuder i den første (nederste) række, og en knude t, der har kanter fra alle knuder i den sidste (øverste) række. Lad m betegne antal kanter og n antal knuder i en (r, k) kryds-graf Nedenstående viser en (4, 5) kryds-graf. t s Spørgsmål a: Angiv antal kanter m og antal knuder n i en (r, k) kryds-graf som funktion af r og k. Antag alle kanter har en ikke negativ vægt. Angiv udførselstiden af Dijkstra s algoritme til at finde de korteste afstande fra s til alle de øvrige knuder som funktion af r og k. Spørgsmål b: Angiv en (1, 2) kryds-graf med positive og negative vægtede kanter, hvor Dijkstra s algoritme beregner en forkert afstand fra s til t. Angiv for hver knude i eksemplet de korrekte afstande fra s samt de afstande Dijkstra s algoritme beregner. Spørgsmål c: Angiv en algoritme med udførselstid O(n) til at beregne de korteste afstande fra s til alle de øvrige knuder i en (r, k) kryds-graf med positive og negative vægtede kanter. Argumenter for algoritmens udførselstid.

29 Opgave 2 (20%) En cyklisk (r, k) kryds-graf er en orienteret graf med r rækker af k knuder, hvor knude j i række i, for 1 i < r, har en kant til knude j 1 i række i + 1, for 1 < j k, og en kant til knude j + 1 i række i +1, for 1 j < k. Desuden findes en knude s, der har kanter til alle knuder i den første (nederste) række, en knude t, der har kanter fra alle knuder i den sidste (øverste) række, og en kant fra t til s. Lad m betegne antal kanter og n antal knuder i en cyklisk (r, k) kryds-graf Nedenstående viser en cyklisk (4, 5) kryds-graf. t u s I denne opgave betragtes problemet at finde de korteste afstande fra en vilkårlig knude u til alle de øvrige knuder i en cyklisk (r, k) kryds-graf, hvor alle kanter har vægte der kan være både positive og negative. Der antages at der ikke findes negative cykler. Spørgsmål a: Angiv som funktion af r og k udførselstiden af Bellman-Ford s algoritme for at finde de korteste afstande fra en knude u til alle de øvrige knuder i en cyklisk (r, k) kryds-graf. Spørgsmål b: Angiv en algoritme med udførselstid O(n), der finder de korteste afstande fra en knude u til alle de øvrige knuder i en cyklisk (r, k) kryds-graf. Argumenter for algoritmens udførselstid. Spørgsmål c: Angiv en algoritme med udførselstid O(n 2 ), der finder de korteste afstande mellem alle par af knuder i en cyklisk (r, k) kryds-graf. Argumenter for algoritmens udførselstid.

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DTLOS NSTTUT, RUS UNVERSTET Det Naturvidenskabelige akultet ESMEN rundkurser i Datalogi ntal sider i opgavesættet (incl. forsiden): 7 (syv) Eksamensdag: Torsdag den 14. juni 007, kl. 9.00-1.00 Eksamenslokale:

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): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00

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): 5 (fem) Eksamensdag: Fredag den 10. august 007, kl.

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 (00-ordning) Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag:

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

Algoritmer og Datastrukturer 2 (Sommer 2004)

Algoritmer og Datastrukturer 2 (Sommer 2004) Algoritmer og Datastrukturer 2 (Sommer 2004) 1a n = rk + 2. m = 2k + 2(r 1)(k 1). Dijkstra: O(m log n) = O((2k + 2(r 1)(k 1))log(rk + 2)) = O(rk log(rk)). 1b 2 / 1 t 1 2 1 / 1 3 / 3 1 3 s 0 / 0 På grafen

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTLOGI, RHUS UNIVERSITET Science and Technology EKSEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) Eksamensdag: Torsdag den 1. juni 01,

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

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner

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

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR ATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Algoritmer og atastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. august 0,

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET NSTTUT OR TO, RUS UNVRSTT Science and Technology SN lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): 11 (elleve) ksamensdag: redag den 1. august 015, kl. 9.00-.00 Tilladte

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET STTUT R T, RUS UVRSTT Science and Technology S lgoritmer og atastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) ksamensdag: Tirsdag den. august 0, kl. 9.00-.00 Tilladte medbragte

Læs mere

Opgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )?

Opgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )? Eksamen juni Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) I det følgende angiver log n -tals-logaritmen af n. n+n er O(n)? n 6 er O(n )? nlogn er O(n /logn)? n er O(n )? n er O(n )?

Læs mere

deta = A = deta = a 11 deta 11 a 12 det A 12 + a 13 deta 13 deta = deta = 1(0 2) 5(0 0) + 0( 4 0) = 2 deta = a i,j deta i,j

deta = A = deta = a 11 deta 11 a 12 det A 12 + a 13 deta 13 deta = deta = 1(0 2) 5(0 0) + 0( 4 0) = 2 deta = a i,j deta i,j Ä Ò Ò ØÖ Ø ÓÖ Ñ Ò ÓÔ Ú Ö Ä Ú Ø ÓÖÑ Ð Ø Ö Ó Ì ÓÑ Â Ò Ò ÓÒØ ÒØ ½ Ø ÖÑ Ò ÒØ Ö ½º½ Í Ú Ð Ò º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½º½º½ ÑÔ Ð Í Ú Ð Ò Ø ÓÖ

Læs mere

Sommeren 2001, opgave 1

Sommeren 2001, opgave 1 Sommeren 2001, opgave 1 Vi antager at k 3, da det ellers er uklart hvordan trekanterne kan sættes sammen i en kreds. Vi ser nu at for hver trekant er der en knude i kredsen, og en spids. Derfor er n =

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

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

ÁÒØÖÓ Ù Ø ÓÒØ Ð Ö Ó Ø Ò ÐÐÙ ØÖ Ø ÓÒ ÖÑ Å Ø ÈÓ Ø ÓÖ Ö Ã¹ÌÍ ÅÓÖØ ÒÀ Ö ½¾º ÔÖ Ð¾¼¼¼ ½ ÀÚ ÖÅ Ø ÈÓ Ø Å Ø ÈÓ Ø Ö ØÔÖÓ Ö ÑÑ Ö Ò ÔÖÓ ¹ Ö ØÔÅ Ø ÓÒغ ØÅ Ø ÈÓ Ø¹ÔÖÓ Ö Ñ Ö ÒÓÔ Ö ØØ Ð Ø Ò Ö Ö Ò ÐÐ Ö Ö ÙÖ Öº Å Ø ÈÓ

Læs mere

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i

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

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 2 n (log n) 2. 3 n /n 2 n + (log n) 4

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 2 n (log n) 2. 3 n /n 2 n + (log n) 4 Eksamen. kvarter 00 Side 1 af sider Opgave 1 ( %) Ja Nej n log n er O(n / )? n 1/ er O(log n)? n + n er O(n )? n( n + log n) er O(n / )? n er Ω(n )? Opgave ( %) Opskriv følgende funktioner efter stigende

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

JOB-SHOP- SKEDULERING OG TOGSKEDULERING Christian Sc hmidt L YNGBY 2002 EKSAMENSPR OJEKT NR. 34/02 IMM

JOB-SHOP- SKEDULERING OG TOGSKEDULERING Christian Sc hmidt L YNGBY 2002 EKSAMENSPR OJEKT NR. 34/02 IMM ÂÇ ¹ËÀÇȹ Ëà ÍÄ ÊÁÆ Ç ÌÇ Ëà ÍÄ ÊÁÆ Ö Ø Ò Ë Ñ Ø Ä Æ ¾¼¼¾ ÃË Å ÆËÈÊÇ ÃÌ Æʺ»¼¾ IMM ÌÖÝ Ø ÁÅÅ ÌÍ ÓÖÓÖ ÒÒ Ö ÔÔÓÖØ ÔÖ ÒØ Ö Ö Ö ÙÐØ Ø ÖÒ Ñ Ø Ñ Ò ÔÖÓ Ø Ú Ë ¹ Ø ÓÒ ÓÖ ÇÔ Ö Ø ÓÒ Ò ÐÝ ÁÒ Ø ØÙØ ÓÖ Å Ø Ñ Ø ÅÓ ÐÐ

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.

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

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

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

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

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):

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

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

w j p j 1 w j / p / = 1

w j p j 1 w j / p / = 1 ÆÝ Ö Ö ÙÐØ Ø Ö Ò Ò ÓÖ ÔÖÓ Ð Ñ Ø Ë ÙÐ Ö Ò Ñ Ö Ú Ð Ø Ö Ô Ò ÐØ¹Ñ Ò Öº Ò Ö Ð ¹ÈÓÚÐ Ò ² Æ ÓÐ Ò Ò ½¼º ÒÙ Ö ¾¼¼ ÁÒ ÓÐ ½ ÁÒØÖÓ Ù Ø ÓÒ ¾ ÈÖÓ Ð Ñ Ø Ð ÓÖ ØÑ Ö º½ Ã Ö Ø º º º º º º º º º º º º º º º º º º º º º º

Læs mere

Sammenhængskomponenter i grafer

Sammenhængskomponenter i grafer Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv

Læs mere

H Å N D B O G M A T E M A T I K 2. U D G A V E

H Å N D B O G M A T E M A T I K 2. U D G A V E H Å N D B O G M A T E M A T I K C 2. U D G A V E ÁÒ ÓÐ Indhold 1 1 Procentregning 3 1.1 Delingsprocent.............................. 3 1.2 Vækstprocent.............................. 4 1.3 Renteformlen..............................

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

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

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

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

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet Torsdag den 9. august, 202. Kl. 9-3. Nærværende eksamenssæt består af 9 nummererede sider med ialt 2 opgaver.

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9

Læs mere

Nogle anvendelser af programmel R, bl.a. til hypotesetest

Nogle anvendelser af programmel R, bl.a. til hypotesetest Frank Bengtson 2013 ÖÒºÒØ ÓÒÑкÓÑ Nogle anvendelser af programmel R, bl.a. til hypotesetest R er specielt egnet til statistik og simulering og kan frit installeres på egen pc. R udfører en programlinje

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

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

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)} Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, F side af sider anmarks Tekniske Universitet Skriftlig prøve, den 9. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

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

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

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

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

Faggruppe Landmåling og faggruppe trafikstudier. Jakob Jakobsen c958320

Faggruppe Landmåling og faggruppe trafikstudier. Jakob Jakobsen c958320 *36WLO. UVHOVDIJLIWVV\VWHPHU (NVDPHQVSURMHNW,QVWLWXWIRU3ODQO JQLQJ Faggruppe Landmåling og faggruppe trafikstudier 'DQPDUNV7HNQLVNH8QLYHUVLWHW Jakob Jakobsen c958320 ÓÖÓÖ ØØ ÔÖÓ Ø Ö Ø ¼ ÔÓ ÒØ Ñ Ò ÔÖÓ Ø

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 036, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 036. Varighed: timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

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

Eksamen i Diskret Matematik

Eksamen i Diskret Matematik Eksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 10. juni, 2016. Kl. 9-13. Nærværende eksamenssæt består af 11 nummererede sider med ialt 16 opgaver. Alle opgaver

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

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

Hamilton-veje og kredse:

Hamilton-veje og kredse: Hamilton-veje og kredse: Definition: En sti x 1, x 2,...,x n i en simpel graf G = (V, E) kaldes en hamiltonvej hvis V = n og x i x j for 1 i < j n. En kreds x 1, x 2,...,x n, x 1 i G kaldes en hamiltonkreds

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

Teoretiske Øvelsesopgaver:

Teoretiske Øvelsesopgaver: Teoretiske Øvelsesopgaver: TØ-Opgave 1 Subtraktion division i legemer: Er subtraktion division med elementer 0 i legemer veldefinerede, eller kan et element b have mere end ét modsat element -b eller mere

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

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

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

LØSNING AF OPENSHOP OG FLO WSHOP PR OBLEMER Susanne Hjorth Tønder Rasm ussen L YNGBY 2001 EKSAMENSPR OJEKT NR. 00/00 IMM

LØSNING AF OPENSHOP OG FLO WSHOP PR OBLEMER Susanne Hjorth Tønder Rasm ussen L YNGBY 2001 EKSAMENSPR OJEKT NR. 00/00 IMM Ä ËÆÁÆ ÇÈ ÆËÀÇÈ Ç ÄÇÏËÀÇÈ ÈÊÇ Ä Å Ê ËÙ ÒÒ À ÓÖØ Ì Ò Ö Ê ÑÙ Ò Ä Æ ¾¼¼½ ÃË Å ÆËÈÊÇ ÃÌ Æʺ ¼¼»¼¼ IMM ÌÖÝ Ø ÁÅÅ ÌÍ ÓÖÓÖ ÒÒ Ö ÔÔÓÖØ Ö Ö Ú Ø ÓÑ ÙØØ Ò ÔÖÓ Ø Ò Ò Ö ØÙ Ø ÓÖ ÓÔÒ¹ Ò Ú Ò Ò Ö Ö Ò Ö ÒÑ Ö Ì Ò ÍÒ Ú Ö

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

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder

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

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

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

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.

Læs mere

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer. Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet MasterClass Matematik, Mærsk Mc-Kinney Møller Videncenter, Sorø, 29-31. oktober 2009 Algoritmer: Matricer

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 21. august 2015 Nærværende eksamenssæt består af 10 nummererede sider med ialt 17 opgaver. Tilladte hjælpemidler:

Læs mere

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015 Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er

Læs mere

Danmarks Tekniske Universitet

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

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æ

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

Effektivisering af det industrielle byggeri

Effektivisering af det industrielle byggeri Effektivisering af det industrielle byggeri Kandidatspeciale Byggeri og anlægssektoren Byggeledelse Aalborg universitet Sonja Dissing Pedersen Det Ingeniør-, Natur- og Sundhedsvidenskabelige Fakultet Civilingeniøruddannelsen

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

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign 28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par

Læs mere

Matematiklærerdag 2008

Matematiklærerdag 2008 Matematiklærerdag 2008 Klaus Thomsen Institut for Matematiske Fag Det Naturvidenskabelige Fakultet Aarhus Universitet March 27, 2008 Matematik og kemi. Matematik og kemi. Intelligente tællemetoder - frit

Læs mere

TRIX. Træningshæfte 2 FACITLISTE. Side 1. Side 2 Side 3. FACIT, side 1-3 Trix, Træningshæfte 2 Alinea. Byg og tegn

TRIX. Træningshæfte 2 FACITLISTE. Side 1. Side 2 Side 3. FACIT, side 1-3 Trix, Træningshæfte 2 Alinea. Byg og tegn TRIX Træningshæfte Side J a o u - - - - - - e t u r i g v b n Fra oven p FACITLISTE Forfra Fra siden Jubii Side Side Femkanter Veksle mønter Farv rødt Farv gult Jubii Positionssystemet Øverst: Eksperimenter

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

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

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 lukket kreds af kanter

Læs mere

16. december. Resume sidste gang

16. december. Resume sidste gang 16. december Resume sidste gang Abstrakt problem, konkret instans, afgørlighedsproblem Effektiv kodning (pol. relateret til binær kodning) Sprog L : mængden af instanser for et afgørlighedsproblem hvor

Læs mere

dpersp Uge 40 - Øvelser Internetalgoritmer

dpersp Uge 40 - Øvelser Internetalgoritmer Øvelse 1 dpersp Uge 40 - Øvelser Internetalgoritmer (Øvelserne 4 og 6 er afleveringsopgaver) a) Hver gruppe får en terning af instruktoren. Udfør 100 skridt af nedenstående RandomWalk på grafen, som også

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

LinAlgDat 2014/2015 Google s page rank

LinAlgDat 2014/2015 Google s page rank LinAlgDat 4/5 Google s page rank Resumé Vi viser hvordan lineære ligninger naturligt optræder i forbindelse med en simpel udgave af Google s algoritme for at vise de mest interessante links først i en

Læs mere