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

Relaterede dokumenter
Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

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

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

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: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n

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

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

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

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

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 3/2. n logn (3/2) n. 2 3logn (3/2) n

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

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske 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.

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

Danmarks Tekniske Universitet

Datastrukturer (recap)

Datastrukturer (recap)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

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

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

Sortering af information er en fundamental og central opgave.

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Datastrukturer (recap) Datastruktur = data + operationer herpå

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

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Sortering af information er en fundamental og central opgave.

Danmarks Tekniske Universitet

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

DM02 Kogt ned. Kokken. Januar 2006

DM507 Algoritmer og datastrukturer

Prioritetskøer og hobe. Philip Bille

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

DM507 Algoritmer og datastrukturer

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jens Myrup Pedersen (JMP) Mm4: Sorting algorithms - October 23, 2009

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

BRP Sortering og søgning. Hægtede lister

DM507 - Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

Sortering ved fletning (merge-sort)

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

Sortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort

Sortering i lineær tid

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

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

DM507 Algoritmer og datastrukturer

Programmering og Problemløsning, 2017

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

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Aarhus Universitet

Transkript:

Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Mandag den. marts 00, kl..00 11.00 Navn Gerth Stølting Brodal Årskort 1 Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiple-choiceopgaver. 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 et eller flere svar ved at afkrydse de tilsvarende rubrikker. Et multiple-choice-delspørgsmål bedømmes som følgende: Hvis du kun sætter kryds ved det rigtige svar får du 1 point. Hvis du sætter a krydser, hvor det ene er det rigtige, får du 1/a point. Hvis du vælger a krydser, hvor ingen er det rigtige, får du 0 point. Hvis du ikke sætter nogen krydser, får du 1/k point, hvor k er antal svarmuligheder. For en multiple-choice-opgave med vægt v % og med n delspørgsmål, hver med k svarmuligheder, hvor du opnår samlet s point, beregnes din besvarelse af multiple-choice-opgaven som: { max 0, s n/k } n n/k v %

Opgave 1 ( %) n er O(n)? n er O(n )? n log n er O(n)? n + n er O(n log n)? n + n er O(n)? Opgave ( %) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n + n n + n n log n n n + n n log n n + n n Opgave ( %) 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 n do x x + i j Algoritme Loop(n) x 0 for i 1 to n do for j 1 to i do x x + i j Algoritme Loop(n) x 0 i 1 while (i n) i i x x + 1 Svar Loop1: O(n ) Svar Loop: O(n ) Svar Loop: O(log n)

Opgave ( %) Tillader nedenstående datastrukturer indsættelser af nye elementer i tid O(log n)? Usorteret kædet liste Heap AVL-træ Tillader nedenstående datastrukturer at slette elementet med den mindste nøgle i tid O(log n)? Usorteret kædet liste Heap AVL-træ Tillader nedenstående datastrukturer at finde et element med en given nøgle i tid O(log n)? Usorteret kædet liste Heap AVL-træ Opgave ( %) Angiv for hver af nedenstående sekvenser om den angiver et preorder, postorder, eller et inorder gennemløb af nedenstående træ. 1 1 Hverken preorder, postorder, eller Preorder Postorder Inorder inorder 1 1 1 1

Opgave ( %) Angiv for hver af nedenstående binære træer om det er en lovlig heap. Opgave ( %) Tegn hvordan nedenstående heap ser ud efter indsættelse af elementet. Opgave ( %) Tegn hvordan nedenstående heap ser ud efter en removemin operation. Opgave ( %) 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 = indsættes. 0 1 11 1 1 1 1 1 1 1 1 1 0 1 11 1 1 1 1 1 1 1 1 1

Opgave ( %) 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. 0 1 11 1 1 1 1 1 1 1 1 1 0 1 11 1 1 1 1 1 1 1 1 1 Opgave 11 ( %) Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter indsættelse af elementet 1. 1 1 1 1 1 1 1 1 1 Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter slettelse af elementet. 1 1 1 1 eller 1 1 1 1 1 1 1 1

Opgave 1 ( %) Tegn hvordan nedenstående AVL-træ ser ud efter indsættelse af elementet 1. 1 1 1 1 1 1 1 Opgave 1 ( %) Nedenstående er et rød-sort træ (dobbeltcirkler angiver røde knuder). Tegn det korresponderende (,) træ. 1 1 1 1 11 1 1 1 11 1 1 1 Opgave 1 ( %) Betragt den træ-baserede union-find datastruktur, hvor man anvender union-by-size heuristikken. Hvad er højden af træet der repræsenterer en mængde med n elementer, udtrykt i O-notation? O(log n) Opgave 1 ( %) Angiv sorteringsalgoritmer til sortering af n elementer, som har forventet eller worst-case O(n log n) udførselstid. Svar 1: Svar : Svar : QuickSort MergeSort HeapSort

Opgave 1 ( %) Algoritme Loop(n) Inputbetingelse : n 1 Outputkrav : Metode : i 1; while i < n do if ( i n) i i else i i + 1 For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående algoritme. Opgave 1 ( %) µ(i, n) = n µ(i, n) = i µ(i, n) = n i µ(i, n) = log n log i µ(i, n) = n i Nedenstående algoritme beregner summen af elementerne i et array. For at vise gyldigheden af algoritmen skal I i og I s være invarianter omkring s og i. Angiv invarianter hvormed gyldigheden af algoritmen kan bevises (bevis for invarianterne kræves ikke). Algoritme Sum(A) Inputbetingelse : Array A af n heltal, n 1 Outputkrav : s = n 1 j=0 A[j] Metode : s 0; i 0; {I i I s } while i < n do s s + A[i]; i i + 1 Svar I i : Svar I s : 0 i n s = i 1 j=0 A[j] 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 µ: n i