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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

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 (dads)

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

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

INSTITUT FOR DATALOGI, 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)

Minimum udspændende Træer (MST)

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Sammenhængskomponenter i grafer

Sommeren 2001, opgave 1

Prioritetskøer og hobe. Philip Bille

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

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

Prioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille

Danmarks Tekniske Universitet

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

Skriftlig Eksamen Diskret Matematik (DM528)

Danmarks Tekniske Universitet

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

Danmarks Tekniske Universitet

Minimum udspændende Træer (MST)

Reeksamen i Diskret Matematik

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

Skriftlig Eksamen Beregnelighed (DM517)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Eksamensopgaver i DM17, Januar 2003

Danmarks Tekniske Universitet

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Eksamen i Diskret Matematik

Minimum udspændende Træer (MST)

Danmarks Tekniske Universitet

Mindste udspændende træ

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Reeksamen i Diskret Matematik

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

Eksamen i Diskret Matematik

Skriftlig eksamen i Datalogi

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

DM507 Algoritmer og datastrukturer

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

Danmarks Tekniske Universitet

Matematik A. Studentereksamen. Ny ordning. Forberedelsesmateriale. ny-stx191-mat/a

Dynamisk programmering

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

Dynamisk programmering

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.

Eksempel på muligt eksamenssæt i Diskret Matematik

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

Dynamisk programmering

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

Grafer og graf-gennemløb

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Eksamensplan Kandidat i Uddannelsesvidenskab - Sommereksamen 2016

Reeksamen i Diskret Matematik

Transkript:

DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Onsdag den 11. august 2004, kl. 9.00-13.00 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

Side 2 af 6 sider Opgave 1 (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.

Side 3 af 6 sider Opgave 2 (25%) I denne opgave betragtes dobbelt-ring grafer. En dobbelt-ring graf med n broer, er en uorienteret graf hvor der er 2n knuder. Knuderne er forbundet med kanter så de danner to cykler med hver n knuder, og den ite knude i den ene cykel er forbundet med en kant/bro til den ite knude i den anden cykel. Nedenstående graf til venstre viser en dobbelt-ring graf med 8 broer. Spørgsmål a: Angiv udførelsestiden for Prim-Jarnik s algoritme for at beregne et minimum udspændende træ for en vægtet dobbelt-ring graf med n broer. Udførelsestiden skal angives som funktion af n. Man kan i det følgende spørgsmål bruge nedenstående sætning om minimum udspændende træer uden bevis: Lad G = (V, E) være en vægtet uorienteret graf, og lad K E være en kantmængde, som indeholder et minimum udspændende træ for G. Hvis K indeholder en cykel C og hvis e er en kant i C af størst vægt, da vil K \ {e} også indeholde et minimum udspændende træ for G. Spørgsmål b: Beskriv en algoritme med udførelsestid O(n), der finder et minimum udspændende træ for en vægtet dobbelt-ring graf med n broer. Argumenter for algoritmens udførelsestid. I det følgende spørgsmål betragtes orienterede dobbelt-ring grafer med n broer, som er dobbelt-ring grafer hvor hver kant repræsenterer en orienteret kant, jævnfør ovenstående graf til højre. Spørgsmål c: Angiv en algoritme med udførelsestid O(n), der givet en orienteret dobbelt-ring graf med n broer afgør om der for alle par af knuder u og v findes orienterede stier fra u til v og fra v til u.

Side 4 af 6 sider Opgave 3 (25%) I denne opgave betragter vi strenge over alfabetet Σ = {a, b, c}. For en streng S lader vi S betegne den reverserede streng, d.v.s. strengen læst bagfra. For eksempel er abbcaabc = cbaacbba Spørgsmål a: Angiv en trie for følgende strenge S 1 = cbcab S 2 = ababab S 3 = aba S 4 = babcc S 5 = cacba S 6 = cbaaa S 7 = aabcb S 8 = aaaccba S 9 = aabcc S 10 = acaacc Spørgsmål b: Antag der er givet en trie T for en mængde strenge S 1,..., S k. Beskriv en algoritme der givet en forespørgselsstreng P, afgør om der i trien findes en streng S i hvor P = S i. Algoritmens udførelsestid skal være O( P ). Spørgsmål c: Antag der er givet k ikke-tomme strenge S 1,..., S k med totalt n tegn, d.v.s. n = k i=1 S i. Beskriv en algoritme med udførelsestid O(n), som afgør om der blandt de k strenge findes to strenge S i og S j således at S i = S j. Output af algoritmen skal i givet fald være < i, j >. Bemærk at hvis en af strengene opfylder S i = S i, så er S i et palindrom og < i, i > er et muligt output.

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 2 + + 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å 2 + 4 + 4 3 = 7. Kasserne angiver opdelingen i blokke af den fælles delsekvens for S og T. Vi definerer nu: S = ab cc baca ba abad T = ab aba baca abad ad 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 0 1 2 3 4 5 0 1 2 3 4 5 6

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.