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

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

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

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

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

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

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

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

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Danmarks Tekniske Universitet

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

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)

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DM02 Kogt ned. Kokken. Januar 2006

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Datastrukturer (recap)

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

Sortering i lineær tid

Danmarks Tekniske Universitet

Datastrukturer (recap)

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

Sortering af information er en fundamental og central opgave.

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

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

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

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

Sortering af information er en fundamental og central opgave.

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

Danmarks Tekniske Universitet

Prioritetskøer og hobe. Philip Bille

Datastrukturer (recap) Datastruktur = data + operationer herpå

DM507 - Algoritmer og datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Danmarks Tekniske Universitet

Sortering ved fletning (merge-sort)

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

Algoritmer og invarianter

Analyse af algoritmer

Danmarks Tekniske Universitet

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

Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille

Hashing. Hashing. Ordbøger. Ordbøger. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Ordbøger Hægtet hashing Hashfunktioner Lineær probering

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

Danmarks Tekniske Universitet

BRP Sortering og søgning. Hægtede lister

Datastrukturer. Datastruktur = data + operationer herpå

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille

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

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

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

Mm7: A little bit more about sorting - and more times for exercises - November 4, 2008

Datastrukturer. Datastruktur = data + operationer herpå

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

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

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

Sammenhængskomponenter i grafer

Perspektiverende Datalogikursus

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

Perspektiverende Datalogikursus

Binære søgetræer og skiplister

Programmering og Problemløsning, 2017

Transkript:

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) n er O(n 7 )? (logn) er O( n)? n(logn) er O(n)? n er O( n )? n er Ω(n )? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n logn n n n/logn Opgave (%) logn n n/logn n n Angiv for hver af nedenstående summer deres sum som function af n i O-notation: n i = i= n logi = i= logn i= i = O(n ) O(n logn) O(n) logn i= n i i = O(n)

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop(n) i while i n do j i while j n do j j + i i+ Algoritme Loop(n) i while i n do j i while j do j j i i+ Algoritme Loop(n) i j while i n do i i+j j j + Svar Loop: O(n ) Svar Loop: O(n ) Svar Loop: O( n) Opgave (%) Angiv for hver af nedenstående algoritmer udførselstiden som funktion af n i O-notation. Algoritme Loop(n) i s while i n do j while j s do j j + i i+ s s Algoritme Loop(n) i n while i > do j while j < i do j j + i i/ Algoritme Loop(n) for i to n do j while j i do j j Svar Loop: O( n ) Svar Loop: Svar Loop: O(n) O(n logn)

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) Tegn hvordan nedenstående binære max-heap ser ud efter indsættelse af elementet 8. 8 9 9 7 7 Tegn hvordan nedenstående binære max-heap ser ud efter en heap-extract-max operation. 9 9 7 7 Opgave 7 (%) Tegn den binære max-heap efter indsættelse af elementerne,,, 9, 7,, 8 i den givne rækkefølge, startende med den tomme heap. 9 8 7 Opgave 8 (%) Angiv hvordan nedenstående array ser ud efter anvendelsen af build-max-heap for arrayet. 7 8 9 7 9 8 7 8 9 9 8 7

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave 9 (%) 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 tre mindst betydende cifre. 7 87 87 7 7 7 8 7 8 7 7 7 87 87 7 7 Opgave (%) Angiv resultatet af at anvende Partition(A,,) på nedenstående array. 7 8 9 7 8 9 A 8 7 8 9 7 7 8 9 7 8 9 8 9 7 8 7 Opgave (%) Er følgende sorteringsalgoritmer stabile: InsertionSort MergeSort RadixSort QuickSort HeapSort Opgave (%) Hvilke af følgende udsagn om rød-sorte træer er sande? Antal interne røde knuder antal interne sorte knuder i et rød-sort træ En indsættelse i et rød-sort træ laver worst-case O() rotationer Pladsforbruget af et rød-sort træ med n elementer er O(logn) En indsættelse i et rød-sort træ omfarver worst-case O() knuder En indsættelse i et rød-sort træ omfarver amortiseret O() knuder

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter indsættelse af elementet. 9 8 9 8 Tegn hvordan nedenstående ubalancerede binære søgetræ ser ud efter slettelse af elementet. 8 9 8 9 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æ. 8 8 9 7 9 9 7 9 7 7 8 8

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) Tegn hvordan nedenstående rød-sorte træ (dobbeltcirkler angiver røde knuder) ser ud efter indsættelse af elementet 7. 8 8 8 8 7 Opgave (%) Tegn en hashtabel hvor der anvendes kædede lister til at håndtere kollisioner, når hashfunktionen er h(k) = k mod 7 og der indsættes elementerne, 7,,,,, og i den givne rækkefølge. 7 Opgave 7 (%) Tegnhvordanenhashtabelderanvenderlinear probing serudefteratelementerne,,,,,, og indsættes i den givne rækkefølge, når hashfunktionen er h(k) = k mod 9. 7 8 7 8 Opgave 8 (%) Tegnhvordanenhashtabelderanvenderquadratic probing serudefteratelementerne, 9,,, og indsættes i den givne rækkefølge, når hashfunktionen er h(k,i) = k +7i+i mod. 7 8 9 7 8 9 9

Algoritmer og Datastrukturer (-ordning) Side 7 af sider Opgave 9 (%) Angiv for hver af nedenstående datastrukturer tiden for at understøtte operationerne Find, Insert, og Delete-Max. Find(x) Insert(x) Delete-Max() Max-heap O(n) O(log n) O(log n) Rød-sort søgetræ O(log n) O(log n) O(log n) Sorteret dobbelt-kædet liste O(n) O(n) O() Opgave (%) Angiv den resulterende union-find struktur efter Union(d, k), når der anvendes union-by-rank og stikomprimering (tallene angiver knudernes rang). b f a c e g i d h j l k f b e g i l k a c d h j

Algoritmer og Datastrukturer (-ordning) Side 8 af sider Transitionssystem Frem-og-tilbage Konfigurationer: {[i,j] heltal i,j i j } [i,j] [i+,j ] if j [i,j] [i,j +] if i [i,j] [i+,j ] if j Opgave (%) For hvert af nedenstående udsagn, angiv om de er en invariant for ovenstående transitionssystem Frem-og-tilbage. Startkonfigurationen antages at være [n, n] hvor n. i+j i+j n i j i+7j n i (n j) Opgave (%) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående transitionssystem Frem-og-tilbage. µ(i,j) = i µ(i,j) = j µ(i,j) = i+j µ(i,j) = i+7j µ(i,j) = i+j

Algoritmer og Datastrukturer (-ordning) Side 9 af sider Algoritme SquareRoot(n) Inputbetingelse : heltal n Outputkrav : r n < (r +) Metode : i s {I} while s n do s s+i+i+ i i+ r i Opgave (%) For hver af nedenstående udsagn, angiv om de er en invariant I for ovenstående algoritme SquareRoot. i s i n s = i s = s+i+ s = n Opgave (%) For hver af nedenstående funktioner, angiv om de er en termineringsfunktion for ovenstående algoritme SquareRoot. µ(i,s,r) = i µ(i,s,r) = n i µ(i,s,r) = n s µ(i,s,r) = n +i s µ(i,s,r) = i s

Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) Givet et array A = A[]A[] A[n] og et element x, beregner nedenstående algoritme det største element x i arrayet. Denne værdi betegnes Pred(A,x) = max{a[i] i n A[i] x}. For at vise gyldigheden af algoritmen skal I i og I r væreinvarianter omkring variablerne i 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 Predecessor(A) Inputbetingelse : array A med n heltal, n, og et heltal x Outputkrav : r = Pred(A, x) Metode : r ; i ; {I r I i } while i n do if A[i] x and A[i] > r then r A[i]; i i+; Svar I i : i n+ Svar I r : r = Pred(A[..i ],x) 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