Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Relaterede dokumenter
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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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)

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 EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

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

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

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: 7 n 1/ log n. (log n) 4

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

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 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: 23n log n. 4 n (log n) log n

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: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Danmarks Tekniske Universitet

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

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

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Danmarks Tekniske Universitet

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Datastrukturer (recap)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Datastrukturer (recap)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

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

Algoritmer og invarianter

Datastrukturer (recap) Datastruktur = data + operationer herpå

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

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

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

Sommeren 2001, opgave 1

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

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

Reeksamen i Diskret Matematik

Prioritetskøer og hobe. Philip Bille

Eksamen i Diskret Matematik

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

Eksamen i Diskret Matematik

Reeksamen i Diskret Matematik

Eksamen i Diskret Matematik

DM02 Kogt ned. Kokken. Januar 2006

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

Træer. Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/

Søgetræer: Generel repræsentation af (sorterede) mængder og funktioner Databasesystemer...

Binære søgetræer og skiplister

Skriftlig eksamen i Datalogi

Mm6: More sorting algorithms: Heap sort and quick sort - October 29, 2008

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

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

Sortering. Eksempel: De n tal i sorteret orden

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

Sortering. Eksempel: De n tal i sorteret orden

Sortering af information er en fundamental og central opgave.

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.

Sortering ved fletning (merge-sort)

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

Sammenhængskomponenter i grafer

Transkript:

Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet 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 korkert svar, får du 1 svarmuligheder. k 1 point, hvor k er antal For en multiple-choice-opgave med vægt v % og med n delspørgsmål, hvor du opnår samlet s point, beregnes din besvarelse af multiple-choice-opgaven som: { max 0, s } n v %

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

Side 4 af 1 sider Opgave 4 (4 %) Angiv for hver af nedenstående rekursive algoritmer udførselstiden som funktion af n i O-notation. Algoritme Rec1(n) if n 1 then return 1 else return 1 + Rec1(n 1) Algoritme Rec(n) if n 1 then return 1 else return Rec(n/) + Rec(n/) Algoritme Rec(n) if n 1 then return 1 else return 1 + Rec(n/) Svar Rec1: Svar Rec: Svar Rec: Opgave (4 %) Betragt radix-sort anvendt på nedenstående liste af tal (d = 4, N = 10). Angiv den delvist sorterede liste efter at radix-sort har sorteret tallene efter de to mindst betydende cifre. 11 14 11 1011 414 114

Side af 1 sider Opgave (4 %) Angiv for hver af nedenstående binære træer om det er et lovligt ubalanceret binært søgetræ eller opfylder heap-order med hensyn til minimum. 4 10 10 1 (I) (II) (III) (IV) (I) (II) (III) (IV) Både søgetræ Hverken søgetræ Søgetræ Heap-order og heap-order eller heap-order Opgave (4 %) Tegn hvordan nedenstående binære heap ser ud efter indsættelse af elementet 4. Opgave (4 %) Tegn den binære heap efter indsættelse af elementerne,, 4,,, 1 i en heap i den givne rækkefølge, startende med den tomme heap.

Side af 1 sider Opgave (4 %) Tegn hvordan nedenstående binære heap ser ud efter en removemin operation. Opgave 10 (4 %) Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter indsættelse af elementet 4. 11 1 10 1 14 Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter slettelse af elementet. 11 1 10 1 14

Side af 1 sider Opgave 11 (4 %) Tegn hvordan nedenstående AVL-træ ser ud efter indsættelse af elementet. 4 Opgave 1 (4 %) Tegn hvordan nedenstående rød-sorte træ (dobbeltcirkler angiver røde knuder) ser ud efter indsættelse af elementet. 11 1 Opgave 1 (4 %) Tegn hvordan nedenstående (,4)-træ ser ud efter slettelse af elementet. 10

Side af 1 sider Opgave 14 (4 %) Nedenstående er en hashtabel hvor der er anvendt linear probing. Den anvendte hashfunktion er h(k) = k mod 1. Tegn hvordan hashtabellen ser ud efter at k = og k = 0 indsættes i den givne rækkefølge. 0 1 4 10 11 1 1 1 4 Opgave 1 (4 %) Nedenstående er en hashtabel hvor der er anvendt linear probing. Den anvendte hashfunktion er h(k) = k mod 1. Tegn hvordan hashtabellen ser ud efter at k = slettes fra hashtabellen (der må ikke bruges dummy elementer). 0 1 4 10 11 1 1 1 4 Opgave 1 (4 %) Angiv for hver af nedenstående sekvenser om den angiver et preorder, postorder, eller et inorder gennemløb af nedenstående binære træ. C B F C B E D F C B F E D E D B F C E B D C F E D B C F E D Hverken preorder, postorder, eller Preorder Postorder Inorder inorder

Side af 1 sider Opgave 1 (4 %) Tegn det binære træ hvor alle knuder har 0 eller børn og hvor henholdsvis et preorder og postorder gennemløb giver: Preorder : 4 1 Postorder : 1 4 Opgave 1 (4 %) Tegn hvordan nedenstående union-find datastruktur ser ud efter find(10), når der anvendes stikomprimering. 4 10 Opgave 1 (4 %) Tegn hvordan nedenstående union-find datastruktur ser ud efter union(union(union(1,),),union(4,)) når der anvendes union-by-size heuristikken. 1 4 Opgave 0 (4 %) Angiv for randomiseret quick-select den forventede og worst-case udførselstid. Forventet : Worst-case :

Side 10 af 1 sider Transitionssystem Countdown(i, j) Configurations: {[i, j] i, j 0} [i, j] [i 1, j + ] if i > 0 [i, j] [i, j 1] if j > 0 Opgave 1 (4 %) For hver af nedenstående udsagn, angiv om de er en invariant for ovenstående transitionssystem Countdown. Startkonfigurationen antages at være [i 0, j 0 ]. Ja Nej 0 i i 0 0 j j 0 i + j i 0 + j 0 j i j j 0 i 0 Opgave (4 %) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående transitionssystem Countdown. µ(i, j) = i + j µ(i, j) = i µ(i, j) = i j µ(i, j) = max{i, j} µ(i, j) = i + j Ja Nej

Side 11 af 1 sider Algoritme Loop(n) Inputbetingelse : heltal n 1 Outputkrav : Metode : i 1; j 0; {I} while j < n do j j + i; i i + i Opgave (4 %) For hver af nedenstående udsagn, angiv om de er en invariant I for ovenstående algoritme Loop. 0 j n j < i j = i 1 j = i i = j Ja Nej Opgave 4 (4 %) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående algoritme Loop. µ(i, n) = i + j µ(i, n) = n j µ(i, n) = n j µ(i, n) = n i µ(i, n) = i j Ja Nej

Side 1 af 1 sider Opgave (4 %) Nedenstående algoritme beregner n m. For at vise gyldigheden af algoritmen skal I n, I m og I r være invarianter omkring variablerne n, m og r. Angiv invarianter hvormed gyldigheden af algoritmen kan bevises (bevis for invarianterne kræves ikke). Algoritme Exp(n, m) Inputbetingelse : heltal n, m 1 Outputkrav : r = n m Metode : r = 1; {I n I m I r } while m 1 do m m 1; r r n Svar I n : Svar I m : Svar I r : 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 µ: