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

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

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

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

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: 5n 4. logn. n 4n 5 n/logn. n n/logn 5n

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

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

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

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)

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: 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

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

Skriftlig Eksamen Algoritmer og Datastrukturer 1. 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

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Danmarks Tekniske Universitet

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

Sortering. Eksempel: De n tal i sorteret orden

Danmarks Tekniske Universitet

Sortering af information er en fundamental og central opgave.

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Sortering. Eksempel: De n tal i sorteret orden

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

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

DM02 Kogt ned. Kokken. Januar 2006

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Sortering af information er en fundamental og central opgave.

Sortering i lineær tid

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Danmarks Tekniske Universitet

Datastrukturer (recap)

Datastrukturer (recap)

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Datastrukturer (recap) Datastruktur = data + operationer herpå

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

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

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

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.

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

Algoritmisk geometri

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

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

Analyse af algoritmer

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

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

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

Algoritmer og invarianter

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

Prioritetskøer og hobe. Philip Bille

Danmarks Tekniske Universitet

DM507 - Algoritmer og datastrukturer

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

DM507 Algoritmer og datastrukturer

Sortering ved fletning (merge-sort)

Sommeren 2001, opgave 1

Divide-and-Conquer algoritmer

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

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

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

DM507 Algoritmer og datastrukturer

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

BRP Sortering og søgning. Hægtede lister

Binære søgetræer og skiplister

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse

Vejledende løsninger

Transkript:

Side af 0 sider Opgave (%) Ja Nej /n er O(n )? n (logn) er O(n 3 )? n + n er O(3 n )? n er O((logn) 3 )? nlogn er Ω(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n n /n n nlogn /n n n nlogn n Opgave 3 (%) I denne opgave ønsker vi at sortere n elementer, hvor hvert element enten er 0 eller. Angiv worst case og best case tiderne for hver af nedenstående algoritmer. Worst case Best case CountingSort O(n) O(n) InsertionSort O(n ) O(n) MergeSort O(n log n) O(n log n) QuickSort O(n ) O(n )

Side af 0 sider Opgave (%) Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop(n) s = 0 for i = to n for j = to i i s = s+ Algoritme Loop(n) s = 0 for i = 0 to n for j = 0 to n s = s+ Algoritme Loop3(n) i = 0 j = n while i j i = i+ j = j Svar Loop: O(n 3 ) Svar Loop: O(n ) Svar Loop3: O(n) Opgave (%) Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop(n) i = n while i > 0 if i ulige i = i else i = i/ Algoritme Loop(n) s = i = while i n for j = to i s = s+ i = i Algoritme Loop3(n) i = while i i n i = i+i Svar Loop: O(log n) Svar Loop: Svar Loop3: O(n) O(log n) = O(logn)

Side 3 af 0 sider Opgave (%) Tegn hvordan nedenstående binære max-heap ser ud efter indsættelse af elementet. 0 0 Tegn hvordan nedenstående binære max-heap ser ud efter en Heap-Extract-Max operation. 0 0 Opgave (%) Tegn den binære max-heap efter indsættelse af elementerne,, 3,,, og i den givne rækkefølge, startende med den tomme heap. 3 Opgave (%) Angiv hvordan nedenstående array ser ud efter anvendelsen af Build-Max-Heap for arrayet. 3 0 3 0 3 0 0 3

Side af 0 sider Opgave (%) Betragt Radix-Sort anvendt på nedenstående liste af tal (d =, k = ). Angiv den delvist sorterede liste efter at radix-sort har sorteret tallene efter de to mindst betydende cifre. 03 3 03 30 30 3 03 03 Opgave 0 (%) Angiv resultatet af at anvende Partition(A,,) på nedenstående array. A 3 0 3 3 0 3 0 3 0 3 3 0 3 0 Opgave (%) Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter indsættelse af elementet. 0 0 0 0 Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter slettelse af elementet. 0 0 0 0

Side af 0 sider Opgave (%) 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æ. 3 3 0 0 3 3 Opgave 3 (%) Tegn hvordan nedenstående rød-sorte træ (dobbeltcirkler angiver røde knuder) ser ud efter indsættelse af elementet. 0 0 Opgave (%) Tegn en hashtabel hvor der anvendes kædede lister til at håndtere kollisioner, når hashfunktionen er h(k) = k mod og der indsættes elementerne 3,,,, og i den givne rækkefølge. 0 3 3

Side af 0 sider Opgave (%) Tegnhvordanenhashtabelderanvenderlinear probing serudefteratelementerne,,,, og 3 indsættes i den givne rækkefølge, når hashfunktionen er h(k) = 3k mod. 0 3 0 3 3 Opgave (%) Tegn hvordan en hashtabel der anvender kvadratisk probing ser ud efter at elementerne,,,, og 0 indsættes i den givne rækkefølge, når hashfunktionen er h(k,i) = ((k mod )+i+i ) mod. 0 3 0 3 0 Opgave (%) Angiv den resulterende union-find struktur efter nedenstående sekvens af operationer, når der anvendes union-by-rank og stikomprimering. Angiv for hver knude rangen af knuden. makeset(a) makeset(b) makeset(c) makeset(d) makeset(e) makeset(f) union(a,b) union(b,c) union(c,d) union(e,f) union(a,e) 0 0 b a c d f 0 e 0

Side af 0 sider Opgave (%) Hvad er det minimale antal elementer der kan være i en union-find struktur, når der anvendes union-by-rank og stikomprimering, og når roden har rang r? Angiv resultatet som funktion af r. r Hvad er den maksimale dybde en union-find struktur med n elementer kan have, når der anvendes union-by-rank og stikomprimering? Angiv resultatet som funktion af n. log n Hvad er det maksimale antal børn en rod med rang r kan have i en union-find struktur med n elementer, når der anvendes union-by-rank og stikomprimering? Angiv resultatet som funktion af n og r. n Opgave (%) Betragt et søgetræ hvor hver knude v gemmer et element v.x, og knuderne er ordnet venstremod-højre efter stigende v.x. Derudover gemmes i v også v.size og v.avg, som er hhv. antal knuder i v s undertræ, og gennemsnittet af alle elementerne i v s undertræ (dvs. summen af alle elementer i v s undertræ divideret med antal elementer i undertræet). Angiv hvorledes disse værdier kan beregnes når den tilsvarende information er kendt ved de to børn v.left og v.right (det kan antages at disse begge eksisterer). v.left v v.right Svar v.size = Svar v.avg = v.left.size + + v.right.size (v.left.avg v.left.size + v.x + v.right.avg v.right.size)/v.size

Side af 0 sider Transitionssystem Multiply Konfigurationer: {[m,n,p] heltal m,n,p m 0 n 0 p 0} [m,n,p] [m,n,p+n] if m > 0 m ulige [m,n,p] [m/,n,p] if m > 0 m lige Opgave 0 (%) For hvert af nedenstående udsagn, angiv om det er en invariant for ovenstående transitionssystem Multiply. Startkonfigurationen antages at være [m 0,n 0,0], hvor m 0 0 og n 0 0. p = 0 m n = p m n = p+m 0 n 0 m n+p = m 0 n 0 m 0 n 0 m n 0 Ja Nej Opgave (%) For hver af nedenstående funktioner, angiv om den er en termineringsfunktion for ovenstående transitionssystem Multiply. µ(m,n,p) = mn p µ(m,n,p) = mn µ(m,n,p) = m µ(m,n,p) = m 0 n 0 p n µ(m,n,p) = m n Ja Nej

Side af 0 sider Algoritme Loglog(n) Inputbetingelse : Heltal n Outputkrav : r = max{i i n} = loglogn Metode : r 0; p ; {I} while p p n do r r +; p p p Opgave (%) For hvert af nedenstående udsagn, angiv om det er en invariant I for ovenstående algoritme Loglog. r < p p p n p = r r = loglogn n p 0 Ja Nej Opgave 3 (%) For hver af nedenstående funktioner, angiv om den er en termineringsfunktion for ovenstående algoritme Loglog. µ(n,r,p) = p µ(n,r,p) = n p p µ(n,r,p) = n p µ(n,r,p) = n r µ(n,r,p) = r loglogp Ja Nej

Side 0 af 0 sider Opgave (%) Lad C[..n] være et array, hvor C[i] angiver en farve (repræsenteret ved et heltal), og lad max-monochrome(c) betegne længden af det længste monochrome delarray, dvs. delarray hvor alle indgange har samme farve. Nedenstående algoritme beregner max-monochrome(c). For at vise gyldigheden af algoritmen skal I l,r og I m være invarianter omkring variablerne l, r, og m. Angiv invarianter hvormed gyldigheden af algoritmen kan bevises (bevis for invarianterne kræves ikke). Algoritme MaxMonochrome(C[..n]) Inputbetingelse : Array C[..n] med n heltal, hvor n Outputkrav : m = max-monochrome(c) Metode : m ; l ; r ; {I} while r < n do if C[r +] = C[r] then r r +; m max{m,r l+} else r r +; l r Svar I l,r : Svar I m : l r n C[l] = C[l+] = = C[r] (l = C[l ] C[l]) m = max-monochrome(c[..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 µ: n r Opgave (%) Betragt et array A[0..N ] af længde N, hvor hver indgang er enten 0 eller. A opfattes som et binært tal med værdien n, hvor n = N i=0 i A[i]. Operationen Inc(A) øger værdien af n med ved at flippe A[0],A[],... indtil det første A[i] flippes fra 0 til. Hvis alle indgange i A indeholdt (dvs. n = N før Inc(A) udføres), så kopieres A over i nyt array af dobbelt størrelsen, hvorallea[i] = 0bortset fraa[n] =. Medenpassendepotentialefunktion kan man argumentere for at Inc tager amortiseret O() tid. Angiv en sådan potentialefunktion. Svar Φ = N logn + {i A[i] = } eller blot {i A[i] = }