Danmarks Tekniske Universitet



Relaterede dokumenter
Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

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

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

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 (bemærk at log n betegner totals logaritmen): n 2 (log n) 2 2.

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

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)

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

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

DATALOGISK INSTITUT, AARHUS UNIVERSITET

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

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

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

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

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)

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

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

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

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

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

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

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

DATALOGISK INSTITUT, 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

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Prioritetskøer og hobe. Philip Bille

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Datastrukturer (recap)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

Datastrukturer (recap)

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Datastrukturer (recap) Datastruktur = data + operationer herpå

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

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

Algoritmisk geometri

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DM507 Algoritmer og datastrukturer

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

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

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Mindste udspændende træ

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden

Sortering af information er en fundamental og central opgave.

DM507 Algoritmer og datastrukturer

Transkript:

ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning af opgaverne: Opgave - 0%, Opgave - 0%, Opgave - 0%, Opgave - 5%, Opgave 5-5 %. Vægtningen er kun en cirka vægtning. lle opgaver besvares ved at udfylde de indrettede felter nedenfor. Som opgavebesvarelse afleveres blot denne og de efterfølgende sider i udfyldt stand. vis der opstår pladsmangel kan man eventuelt benytte ekstra papir som så vedlægges opgavebesvarelsen. ksamenssættet fortsætter på næste side

ksamen 06, side af sider Opgave (kompleksitet). ngiv for hver af nedenstående udsagn om de er korrekte: 0 n + 00n = O(n ) (log n) + n = O(n) (log n) + n = O(n ) n = O(log n) Ja Nej n (n )/5 = O(n ). Skriv følgende liste af funktioner op i voksende rækkefølge efter asymptotisk vækst. vs. hvis funktionen g(n) følger umiddelbart efter funktionen f(n) i din liste, så skal der gælde at f(n) = O(g(n)). n log n n + 00n 5000n n / n Svar:. ntag at du har en algoritme hvis køretid er præcist n. vor meget langsommere kører algoritmen hvis du fordobler inputstørrelsen? dobbelt så langsom gange langsommere gange langsommere 8 gange langsommere gange langsommere 6 gange langsommere. etragt nedenstående algoritme. lgorithm økke(n) : for i = to n do : j = : while j n/ do : print 5: j = j + 6: end while 7: end for øretiden af algoritmen er (sæt kun ét kryds): it svar skal være så tæt som muligt O(log n) O(n) O(n log n) O(n log n) O(n ) O(n ) O( n ) O(n ) O( n) ksamenssættet fortsætter på næste side

ksamen 06, side af sider.5 etragt nedenstående algoritme. lgorithm økke(n) : for i = to n do : for j = to n do : for k = j to n do : print 5: end for 6: end for 7: end for øretiden af algoritmen er (sæt kun ét kryds): it svar skal være så tæt som muligt O(log n) O(n) O(n log n) O(n log n) O(n ) O(n ) O( n ) O(n ) O( n) Opgave (grafer). ngiv et korteste veje træ for nedenstående graf når korteste veje beregningen sker med hensyn til startknuden. ngiv for hver knude afstanden fra knuden. 0 5 6 J ngiv korteste veje træet og afstandene her: J ksamenssættet fortsætter på næste side

ksamen 06, side af sider. etragt nedenstående graf. J a) ngiv et S træ for grafen når S gennemløbet starter i knuden. ngiv S-dybde/lag for hver knude. et antages at incidenslisterne er sorteret i alfabetisk orden. J b) ngiv et S træ for grafen, når S gennemløbet starter i knuden. ngiv en S nummerering af knuderne. et antages at incidenslisterne er sorteret i alfabetisk orden. J ksamenssættet fortsætter på næste side

ksamen 06, side 5 af sider. ngiv et mindste udspændende træ i nedenstående graf. J 6 5 6 7 8 8 6 5 7. r nedenstående graf todelt? vis ja, så angiv en opdeling af knuderne. vis nej, så forklar hvorfor. J ksamenssættet fortsætter på næste side 5

ksamen 06, side 6 af sider Opgave (modellering og anvendelse af algoritmer/datastrukturer) abeltv-firmaet lgonet udbyder kabeltv til alle huse i den lille by lgoity. irmaet sender kabeltv fra deres hovedstation i byen ud til alle de huse der ønsker det. e har et netværk af kabler de bruger til at sende tv-signal til alle kunderne i byen. ablerne går mellem nogle bokse. er er en boks i alle de huse der modtager kabeltv (dvs. hos alle kunderne), og ingen bokse andre steder. er kan godt være mange kabler tilsluttet samme boks, så der kan sendes signal både ud og ind af en boks. er er X huse og kabler i netværket. irmaet kender også den præcise længde af hvert kabel. Opgave.: Rutning irmaet ønsker at finde ud af hvad vej de skal sende signalerne fra hovedstationen til de huse der ønsker kabeltv. er skal være så lidt forringelse af signalet som muligt, så derfor ønsker de at hver kunde skal modtage signalet af så kort en rute som muligt (længden af en rute er den samlede længde af kablerne på ruten). iv en algoritme der finder den bedste måde at rute signalerne på, så hver kundes signal er så godt som muligt. ngiv køretiden af din algoritme og argumenter for at den virker. ksamenssættet fortsætter på næste side 6

ksamen 06, side 7 af sider Opgave.: Vedligeholdelse irmaet skal spare, og ønsker derfor ikke længere at vedligeholde hele kabelnettet. e vil derfor gerne finde en mængde af kabler der er billigst mulig at vedligeholde, men som samtidig forbinder alle nuværende kunder. Prisen for at vedligeholde et kabel er proportional med længden af kablet, dvs. det er den samlede længde af kablerne der afgør hvor dyrt det er at vedligeholde dem. iv en algoritme der finder den billigste mængde af kabler at vedligeholde. ngiv køretiden af din algoritme og argumenter for at den virker. ksamenssættet fortsætter på næste side 7

ksamen 06, side 8 af sider Opgave (Træer) enne opgave omhandler rodfæstede binære træer. ver knude har enten to eller ingen børn. nuden x s venstre barn betegnes left[x], og dens højre barn betegnes right[x]. vis knuden x ikke har nogle børn, har left[x] og right[x] den specielle nil værdi. vis knude x ikke har nogle børn, kaldes den et blad. llers kaldes den en intern knude. Såfremt rodknuden for et træ er nil, er træet tomt. Til hver knude i træet er der knyttet en vægt; knuden x har vægten weight[x].. ns vægte iv en effektiv algoritme nsvægt(x) der givet rodknuden til et vægtet binært træ returnerer hvis der er mindst to knuder i træet der har samme vægt og 0 ellers. ngiv køretiden af din algoritme og argumenter for at den virker. ksamenssættet fortsætter på næste side 8

ksamen 06, side 9 af sider. Træsum etragt følgende algoritme: lgorithm Træ(x) : if (x = nil) then : return : else : return max{træ(left[x]), Træ(right[x]), weight[x]} 5: end if vad returnerer nedenstående algoritme Træ(x) når den bliver kørt med rodknuden til træet T som input? 7 9 5 T orklar hvad algorimen Træ(x) beregner når den bliver kørt med rodknuden til et vægtet binært træ T som input? ksamenssættet fortsætter på næste side 9

ksamen 06, side 0 af sider Modificer algoritmen Træ(x) så den givet rodknuden til et vægtet binært træ returnerer summen af vægtene på alle knuder i træet. ksamenssættet fortsætter på næste side 0

ksamen 06, side af sider Opgave 5 (datastrukturer) 5. ad være en kø. Udfør følgende operationer fra venstre til højre: et bogstav i betyder nqueue(,i) og betyder equeue(). * T U * * N * O R * M * T ngiv sekvensen af bogstaver der bliver dequeue et (returneret af equeue()) af disse operationer: U T R M U T N R M T O U T N R M T U N U T N R M T O U T N O M 5. ad være en hægtet hashtabel (chained hashing) af størrelse 5 med hashfunktion h(x) = x mod 5. ngiv hvordan hashtabellen ser ud efter indsættelse af tallene 5,,, 7, 0,. 5. ad være en hashtabel med linær probering (linear probing) af størrelse 5 med hashfunktion h(x) = x mod 5. ngiv hvordan hashtabellen ser ud efter indsættelse af tallene 6,, 7, 6. ksamenssættet fortsætter på næste side

ksamen 06, side af sider Opgave 5. ngiv den rækkefølge knuderne bliver skrevet ud i, når man laver et inorder gennemløb af nedenstående træ. 9 6 0 5 7 8 norder gennemløb: 5.5 enne opgave omhandler (ubalancerede) binære søgetræer, som beskrevet i de udleverede noter RS kapitel. Opgave a ngiv hvordan det binære søgetræ nedenfor ser ud efter indsættelse af et element med nøgle. 6 8 8 7 5 9 Opgave b ngiv hvordan det binære søgetræ nedenfor ser ud efter sletning elementet med nøgle 6. 6 8 8 7 5