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

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

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

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

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

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

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

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

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 7 n 1/2 2 n /n 3 2logn n 2 /logn

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 5n 4. logn. n 4n 5 n/logn. n n/logn 5n

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2

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: (logn) 5. 5n 2 5 logn. 2 logn

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

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 )?

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

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Invarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen.

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

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

Datastrukturer (recap)

Datastrukturer (recap)

Danmarks Tekniske Universitet

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

Datastrukturer (recap) Datastruktur = data + operationer herpå

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Danmarks Tekniske Universitet

DM507 Algoritmer og datastrukturer

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig eksamen i Datalogi

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

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Eksamen i Diskret Matematik

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Eksamen i Diskret Matematik

Reeksamen i Diskret Matematik

Sortering i lineær tid

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

Reeksamen i Diskret Matematik

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

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

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

Reeksamen i Diskret Matematik

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Sortering. Eksempel: De n tal i sorteret orden

Transkript:

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, kl. 9.00-11.00 Eksamenslokale: Åbogade 4, Benjamin bygningen, indgang B Tilladte medbragte hjælpemidler: Alle sædvanlige hjælpemidler (lærebøger og notater). Computer må ikke medbringes. Materiale der udleveres til eksaminanden: Årskort Navn

Side 2 af 1 sider Skriftlig Eksamen Datalogisk Institut Aarhus Universitet Tirsdag den 8. april 2008, kl. 9.00-11.00 Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne besvares på opgaveformuleringen som afleveres. For hver opgave er angivet opgavens andel af det samlede eksamenssæt. For multiple-choice-opgaver gælder følgende. Hvert delspørgsmål har præcist et svar. For hvert delspørgsmål, kan du vælge ét svar ved at afkrydse den tilsvarende rubrik. Et multiple-choice-delspørgsmål bedømmes som følgende: Hvis du sætter kryds ved det rigtige svar, får du 1 point. Hvis du ikke sætter nogen krydser, får du 0 point. Hvis du sætter kryds ved et forkert svar, får du 1 svarmuligheder. k 1 point, hvor k er antal For en multiple-choice-opgave med vægt v % ogmedn delspørgsmål, hvor du opnår samlet s point, beregnes din besvarelse af multiple-choice-opgaven som: { max 0, s } v % n

Side af 1 sider Opgave 1 (4 %) Ja Nej n er O(n 2 )? n er O(n 2 )? 7n 2 er O(n +10 n)? 2n 2 + n 4 er O(17n )? 5n log n er Ω(n 2 )? Opgave 2 (4 %) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: Opgave (4 %) 2n log n 1 2 n2 4 n (log n) 2 2 log n Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop1(n) i 1 while i n do j 1 while j n do k j while k n do k k +1 j j +1 i i +1 Algoritme Loop2(n) i 1 while i n do j 1 while j n do k j while k n do k k 2 j j 2 i i 2 Algoritme Loop(n) i 1 while i n do j i while j n do j j +1 i i 2 Svar Loop1: Svar Loop2: Svar Loop:

Side 4 af 1 sider Opgave 4 (4 %) Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop1(n) x 1 for i 1 to n do for j i to n do for k i to j do x x +1 Algoritme Loop2(n) i 1 j 2 while i n do j j j k 1 while k j do k k +1 i i +1 Algoritme Loop(n) i 1 j 1 while i n do j 2 j k 1 while k j do k 2 k i i +1 Svar Loop1: Svar Loop2: Svar Loop: Opgave 5 (4 %) Tegn hvordan nedenstående binære max-heap ser ud efter indsættelse af elementet 9. 11 8 4 5 1 2 Tegn hvordan nedenstående binære max-heap ser ud efter en heap-extract-max operation. 11 8 4 5 1 2

Side 5 af 1 sider Opgave 6 (4 %) Tegn den binære max-heap efter indsættelse af elementerne 1,, 5, 7, 9, 2, 4, 6, 8 i den givne rækkefølge, startende med den tomme heap. Opgave 7 (4 %) Angiv hvordan nedenstående array ser ud efter anvendelsen af build-max-heap for arrayet. 1 2 4 5 6 7 8 9 10 11 12 1 14 15 16 1 5 7 9 11 1 15 16 14 12 10 8 6 4 2 Opgave 8 (4 %) Angiv alle mulige binære max-heaps for mængden {1, 2,, 5, 7}.

Side 6 af 1 sider Opgave 9 (4 %) Betragt radix-sort anvendt på nedenstående liste af tal (d =4,k = 10). Angiv den delvist sorterede liste efter at radix-sort har sorteret tallene efter de to mindst betydende cifre. 9827 2719 1524 427 5627 119 124 Opgave 10 (4 %) Angiv resultatet af at anvende Partition(A,5,11) på nedenstående array. 1 2 4 5 6 7 8 9 10 11 12 1 14 15 16 17 18 19 20 A 8 16 1 6 2 4 1 17 15 5 18 9 11 24 12 14 10 7 22 Opgave 11 (4 %) Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter indsættelse af elementet 8. 10 14 7 16 4 6 Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter slettelse af elementet 10. 10 14 7 16 4 6

Side 7 af 1 sider Opgave 12 (4 %) Angiv hvorledes knuderne i nedenstående binære søgetræ kan farves røde og sorte, således at det resulterende træ er et lovligt rød-sort træ. 6 10 1 5 8 16 2 4 7 9 14 18 12 15 17 11 1 Opgave 1 (4 %) Tegn hvordan nedenstående rød-sorte træ (dobbeltcirkler angiver røde knuder) ser ud efter indsættelse af elementet 8. 18 9 99 2 16 1 7 14 17 Opgave 14 (4 %) Følgende spørgsmål vedrører rød-sorte træer. Antal interne røde knuder = antal interne sort knuder Antal eksterne blade = 1 + antal interne knuder Antal interne sorte knuder antal interne røde knuder Alle rod-til-blad stier indeholder det samme antal sorte knuder En rød knude har altid en sort far Ja Nej

Side 8 af 1 sider Opgave 15 (4 %) Betragt et søgetræ hvor hver knude v gemmer et element v.e og elementets prioritet v.p. Elementerne i søgetræet er ordnet efter v.e. Derudovergemmerhverknudesummenv.s af prioriteterne i undertræet rodet ved v, og den maximale prioritet v.m af et element i undertræet rodet ved v. Angiv nedenfor hvorledes disse værdier kan vedligeholdes under en højre rotation om knuden v. Det venstre og højre barn til en knude v betegnes v.left og v.right, og fx.betegner v.right.m den maximale prioritet af et element i undertræet rodet i det højre barn til v. v u u v højre rotation Svar u.e = u.e Svar u.p = u.p Svar u.m = Svar u.s = Svar v.e = v.e Svar v.p = v.p Svar v.m = Svar v.s = Opgave 16 (4 %) Tegn en hashtabel hvor der anvendes kædede lister til at håndtere kollisioner, når hashfunktionen er h(k) = 2k mod 6 og der indsættes elementerne 4,, 1, 6, 7, 8, og 9 i den givne rækkefølge.

Side 9 af 1 sider Opgave 17 (4 %) Tegn hvordan en hashtabel der anvender linear probing ser ud efter at elementerne, 5, 10, 0, 4, 7, og 17 indsættes i den givne rækkefølge, når hashfunktionen er h(k) = 2k mod 7. 0 1 2 4 5 6 Opgave 18 (4 %) Tegn hvordan en hashtabel der anvender quadratic probing ser ud efter at elementerne 2, 17, 5, 1, og 11 indsættes i den givne rækkefølge, når hashfunktionen er h(k, i) = 2k + i +2i 2 mod 15. 0 1 2 4 5 6 7 8 9 10 11 12 1 14 Opgave 19 (4 %) Betragt en stak implementeret i et array hvor overløb håndteres ved at allokere et nyt større array og kopiere indholdet af det gamle array til det nye array. Angiv den amortiserede tid for en push operation, når det nye array har nedenstående størrelse (n er antal elementer på stakken før push operationen): a) n +1 b) n + n c) 2 n d) n

Side 10 af 1 sider Opgave 20 (4 %) Hvilke af nedenstående træer er mulige union-find strukturer og kan være opstået som en sekvens af union operationer, når der kun anvendes union-by-rank. Tallet til højre for en knude er knudens rank. a c a h d 2 d 1 b 2 a 2 d 1 b 2 c 2 c 2 e 2 a 1 c 1 b 1 c 1 b 1 e 1 f 1 d 1 b 1 f 1 g 1 a) b) c) d) e) a) b) c) d) e) Ja Nej

Side 11 af 1 sider Transitionssystem UpDown Konfigurationer: {[i, j] heltal i, j j 0} [i, j] [ i, j +1] if i<0 [i, j] [ (i 2),j+1] if i>1 Opgave 21 (4 %) For hvert af nedenstående udsagn, angiv om de er en invariant for ovenstående transitionssystem UpDown. Startkonfigurationen antages at være [n, n] hvorn 1. i j i + j 2n j 2n i j =0 4n 2j 1= 2i 1 Ja Nej Opgave 22 (4 %) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående transitionssystem UpDown. μ(i, j) =i μ(i, j) =j μ(i, j) =2n j μ(i, j) = i (2n j) μ(i, j) = 2i 1 Ja Nej

Side 12 af 1 sider Algoritme Loglog(n) Inputbetingelse : heltal n 2 Outputkrav : r = log 2 log 2 n Metode : r 0; p 2; {I} while p<n do r r +1; p p p Opgave 2 (4 %) For hver af nedenstående udsagn, angiv om de er en invariant I for ovenstående algoritme Loglog. r p r n p =2 r p =2 2r p n Ja Nej Opgave 24 (4 %) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående algoritme Loglog. μ(r, p, n) =p μ(r, p, n) =n p μ(r, p, n) =n r μ(r, p, n) =n 2 p μ(r, p, n) = log 2 log 2 n log 2 log 2 r Ja Nej

Side 1 af 1 sider Opgave 25 (4 %) Givet et array A = A[1]A[2] A[n], beregner nedenstående algoritme længden af det længste delarray hvor alle elementer er ens. Denne længde betegnes maxequal(a) =max{j i +1 1 i j n A[i] =A[i +1]= = A[j]}. For at vise gyldigheden af algoritmen skal I i, I l,ogi r være invarianter omkring variablerne i, l, og r. Angiv invarianter hvormed gyldigheden af algoritmen kan bevises (bevis for invarianterne kræves ikke). Det antages at A og n ikke kan ændres af algoritmen. Algoritme LongestEqual(A) Inputbetingelse : array A med n heltal Outputkrav : r =maxequal(a) Metode : r 1; i 2; l 1; {I i I l I r } while i n do if A[i] =A[i 1] then l l +1; else l 1; if l>rthen r l; i i +1; Svar I i : Svar I r : Svar I l : For at kunne bevise at algoritmen terminerer, kræves en passende termineringsfunktion. Angiv en termineringsfunktion (bevis for at termineringsfunktionen har de nødvendige egenskaber kræves ikke). Svar μ: