DATALOGISK INSTITUT, AARHUS UNIVERSITET

Relaterede dokumenter
DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

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

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

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

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Sammenhængskomponenter i grafer

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Danmarks Tekniske Universitet

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

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Danmarks Tekniske Universitet

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

Danmarks Tekniske Universitet

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Danmarks Tekniske Universitet

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Grafer og graf-gennemløb

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

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

Skriftlig Eksamen Diskret Matematik (DM528)

Danmarks Tekniske Universitet

Sommeren 2001, opgave 1

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

Mindste udspændende træ

Videregående Algoritmik. Version med vejledende løsninger indsat!

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

Minimum udspændende Træer (MST)

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet. Mandag den 22. marts 2004, kl

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

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

P2-gruppedannelsen for Mat og MatØk

Reeksamen i Diskret Matematik

AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet Augusteksamen OPGAVESTILLER: Allan H. Sørensen

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.

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

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

Prioritetskøer og hobe. Philip Bille

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

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

.. 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)}

Minimum udspændende Træer (MST)

Skriftlig Eksamen ST501: Science Statistik Tirsdag den 8. juni 2010 kl

Algoritmer og Datastrukturer 2 (Sommer 2004)

DM507 Algoritmer og datastrukturer

Transkript:

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: Fredag den -8-009, kl. 9.00-.00 Eksamenslokale: Trøjborg, Willemoesgade 5, Århus N Tilladte medbragte hjælpemidler: Alle sædvanlige hjælpemidler (lærebøger, notater, lommeregner). Computer må ikke medbringes. Materiale der udleveres til eksaminanden: OPGAVETEKSTEN BEGYNDER PÅ NÆSTE SIDE ooo

Eksamen August 009 Algoritmer og Datastrukturer (00-ordning) Side af 6 sider Opgave (5%) Betragt nedenstående orienterede graf med ikke-negative vægte på kanterne. Det antages at grafen er givet ved incidenslister hvor incidenslisterne er sorteret alfabetisk. 5 A B C D E 5 F G H I J 5 6 K L M N O Spørgsmål a: Angiv et BFS træ for ovenstående graf, når BFS gennemløbet starter i knuden A. Angiv kanterne i BFS træet og BFS numrene for knuderne. Spørgsmål b: Angiv et DFS træ for ovenstående graf, når DFS gennemløbet starter i knuden A, og en DFS nummerering af knuderne. Angiv for hver knude discovery time og finishing time. Spørgsmål c: Angiv et korteste veje træ for ovenstående graf, når korteste veje beregningerne sker med hensyn til startknuden A. For hver knude v angiv også afstanden fra startknuden A til v. Spørgsmål d: Angiv de stærke sammenhængskomponenter i ovenstående graf. Betragt nu følgende uorienterede graf med vægte på kanterne. A 9 B C D E 5 0 6 6 F G H I J 9 6 8 K L M N O Spørgsmål e: Angiv kanterne i et minimum udspændende træ for ovenstående graf.

Eksamen August 009 Algoritmer og Datastrukturer (00-ordning) Side af 6 sider Opgave (5%) Betragt nedenstående netværk med de angivne kapaciteter på kanterne. C s 6 5 B D 8 J 9 K 0 5 6 G H E I t Spørgsmål a: Angiv en maksimal strømning fra s til t i netværket (angiv for hver kant strømningen langs kanten), angiv værdien af en maksimal strømning, og angiv et snit (dvs. opdeling af knuderne i to disjunkte mængder) hvor kapaciteten af snittet er lig en maksimal strømning. Spørgsmål b: Betragt Edmonds-Karp algoritmen anvendt på ovenstående graf til beregning af en maksimal strømning. Angiv de forbedrende stier der anvendes under udførslen af Edmonds-Karp algoritmen. For hver forbedrende sti angiv knuderne på stien og strømningen man forbedrer med langs stien.

Eksamen August 009 Algoritmer og Datastrukturer (00-ordning) Side af 6 sider Opgave (0%) I denne opgaver betragter vi en uorienteret graf G = (V, E) med V = n knuder og E = m kanter. Lad A og B være to knuder i G. Vi ønsker at finde en simpel cykel i G som går igennem både A og B. Spørgsmål a: Beskriv en algoritme der afgør om der findes en cykel i grafen, som indeholder både A og B. En kant i E må højst indgå én gang i cyklen (men en knude må gerne indgå flere gange). Angiv algoritmens udførselstid. (Hint: Anvend en maksimal strømnings algoritme) Spørgsmål b: Beskriv en algoritme der afgør om der findes en cykel i grafen, som indeholder både A og B. En knude i V må højst indgå én gang i cyklen. Angiv algoritmens udførselstid. z B A Ovenstående cykel er en lovlig cykel indeholdende A og B til spørgsmål a, hvoridmod det ikke er en lovlig cykel i spørgsmål b da knuden z indgår to gange i cyklen.

Eksamen August 009 Algoritmer og Datastrukturer (00-ordning) Side 5 af 6 sider Opgave (0%) I denne opgave ønsker vi at bygge broer over en flod. På den nordlige bred af floden ligger n byer og på den sydlige bred ligger der m byer. For at bygge en bro mellem by i på den nordlige bred og by j på den sydlige bred kræves at hverken i eller j allerede har en bro og broen (i, j) ikke vil krydse en allerede eksisterende bro, dvs. at der ikke findes en bro (i, j ) med i < i og j > j, eller i > i og j < j. Hver mulig bro (i, j) har en værdi V (i, j). Vi ønsker at finde en lovlig mængde af broer der har størst mulig samlet værdi (en mulig bro kan også have en negativ værdi, men vil så naturligvis ikke indgå i en løsning til vores problem). Nord ulovligt i V (i, j) 5 - - - - - 5 - - Syd j 5 For 0 i n og 0 j m lader vi X(i, j) betegne maksimale værdi for en mængde af broer der kun forbinder byer der er blandt de i første byer på den nordlige bred og de j første byer på den sydlige bred. X(i, j) kan beskrives ved følgende rekursionsformel: 0 hvis i = 0 j = 0 max{x(i, j), X(i, j )} hvis i j V (i, j) 0 X(i, j) = max{x(i, j ) + V (i, j), X(i, j), X(i, j )} hvis i j V (i, j) > 0 Spørgsmål a: Udfyld for ovenstående eksempel indgangene i nedenstående tabel for X(i, j). X(i, j) 0 5 0 Spørgsmål b: Angiv en algoritme baseret på dynamisk programmering, der givet V, beregner den største værdi en mængde af broer kan opnå. Angiv algoritmens udførselstid. Spørgsmål c: Udvid algoritmen fra spørgsmål b) til, givet V, at rapportere en mængde af broer med størst mulig værdi. Angiv algoritmens udførselstid.

Eksamen August 009 Algoritmer og Datastrukturer (00-ordning) Side 6 af 6 sider Opgave 5 (0%) For en streng U = x x x n x n betegner rotationen af U med skift i strengen x i+ x i+ x n x x x i, hvor 0 i < n. F.eks. har strengen BBCABA følgende rotationer: Skift Streng 0 BBCABA BCABAB CABABB ABABBC BABBCA 5 ABBCAB Vi ønsker at finde den leksikografisk mindste streng der er en rotation af U, dvs. rotationen A B A B B C med skift i ovenstående eksempel. Spørgsmål a: Angiv for strengen U = ABCABBAB den leksikografisk mindste rotation. Angiv både skiftet og den roterede streng. I det følgende kan det antages at et suffiks-træ og et suffiks-array for en streng af længde n fra et alfabet med O() tegn kan konstrueres i O(n) tid. Spørgsmål b: Beskriv en algoritme der givet en streng U af længde n fra et alfabet med O() tegn, finder den leksikografisk mindste rotation. Angiv algoritmens udførselstid. En streng er et palindrom hvis strengen læst bagfra giver det samme, f.eks. IBOFOBI. Spørgsmål c: Beskriv en algoritme der givet en streng U af længde n fra et alfabet med O() tegn, afgør om der findes en rotation af U der er et palindrom. Angiv algoritmens udførselstid.