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

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

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. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

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 1. Datalogisk Institut Aarhus Universitet. Mandag den 22. marts 2004, kl

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

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

Danmarks Tekniske Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. 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

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Prioritetskøer og hobe. Philip Bille

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

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

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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)

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DM507 Algoritmer og datastrukturer

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

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

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

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

Sammenhængskomponenter i grafer

Datastrukturer (recap)

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

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

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

Sortering. Eksempel: De n tal i sorteret orden

INSTITUT FOR DATALOGI, 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)

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

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

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

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

Sortering af information er en fundamental og central opgave.

DM507 Algoritmer og datastrukturer

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

Sortering. Eksempel: De n tal i sorteret orden

Sortering af information er en fundamental og central opgave.

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

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

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

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

Datastrukturer (recap)

Mindste udspændende træ

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Algoritmisk geometri

DATALOGISK INSTITUT, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS 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

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

Transkript:

Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det er ikke tilladt at medbringe lommeregner. Varighed: 4 timer. Vægtning: Opgave - 27 %, Opgave 2-2 %, Opgave 3-2 %, Opgave 4-5 %, Opgave 5-25 %. Vægtning er kun approksimativ. Karakteren gives ud fra en helhedsvurdering. Alle opgaver besvares ved at udfylde de indrettede felter nedenfor. Som opgavebesvarelse afleveres blot denne og de efterfølgende sider i udfyldt stand. Hvis der opstår pladsmangel kan man eventuelt benytte ekstra papir som så vedlægges opgavebesvarelsen. Asymptotiske grænser skal angives så tætte som muligt. Medmindre andet er angivet er basen på alle logaritmer 2 og log k n betegner (log n) k.

Eksamen 0205, Forår 205 side 2 af 5 Kompleksitet. (6 %) Angiv for hver af nedenstående udsagn om de er korrekte: 0, 00n + log n = (n) 2 n + n 4 = O(n 4 ) 3 log3 n + n = (n) 5 p n + log 2 n = O( p n) (2n + 6n + 09n 2 )n 3 = (n 6 ) Ja Nej.2 (6 %) Arranger følgende funktioner i voksende rækkefølge efter asymptotisk vækst. Dvs. hvis funktionen g(n) følger umiddelbart efter funktionen f (n) i din liste skal der gælde at f (n)=o(g(n)). n 0.4 /2 log n 2 4 log n 2 log4 n 0, 0000003n 3 2 2 log n.3 (5 %) Angiv køretiden for nedenstående algoritme. Skriv dit svar i O-notation som funktion af n. Algoritme Alg(n) : for i = to n do 2: j = 3: while j apple n do 4: j = j + 2 5: end while 6: end for 2

Eksamen 0205, Forår 205 side 3 af 5.4 (5 %) Angiv køretiden for nedenstående algoritme. Skriv dit svar i O-notation som funktion af n. Algoritme 2 Alg2(n) : for i = to n do 2: i = i + 3: end for 4: j = 5: while j apple n do 6: j = j + 7: end while.5 (5 %) Angiv køretiden for nedenstående algoritme. Skriv dit svar i O-notation som funktion af n. Algoritme 3 Alg3(n) : for i = to n do 2: j = i 3: while j apple n do 4: j = j 3 5: end while 6: end for 3

Eksamen 0205, Forår 205 side 4 af 5 2 Datastrukturer Betragt følgende skov af træer, der repræsenterer en familie af mængder i en datastruktur til foren og find. 0 2 3 6 5 8 4 0 9 7 3 2 4 2. (4 %) Angiv resultaterne af følgende FIND( ) operationer. FIND(5) : FIND(6) : FIND(7) : FIND(2) : 2.2 (4 %) Tegn hvordan ovenstående skov af træer ser ud efter operationen UNION(4, 9) når der anvendes vægtet forening. Antag at UNION(i, j) altid sætter roden af træet angivet ved i til at være barn af roden af træet angivet ved j når træerne har samme størrelse. 4

Eksamen 0205, Forår 205 side 5 af 5 2.3 (4 %) Vis resultat af stikompression efter en FIND(3) operation på nedenstående træ. 0 2 4 5 3 6 7 8 9 0 5

Eksamen 0205, Forår 205 side 6 af 5 Betragt følgende binære søgetræ. 3 6 42 5 0 7 2.4 (3 %) Angiv rækkefølgen af knuderne i et preorder, postorder og inorder gennemløb af ovenstående binære søgetræ. PREORDER : POSTORDER : INORDER : 2.5 (2 %) Angiv hvordan det ovenstående ovenstående binære søgetræ ser ud efter indsættelse af en knude med nøgle 9. 6

Eksamen 0205, Forår 205 side 7 af 5 2.6 (4 %) Vi vil gerne understøtte operationen MEMBER(x) på hver af de nedenstående fire datastrukturer. MEMBER(x) returnerer ja hvis værdien x er i datastrukturen og nej ellers. F. eks. hvis datastrukturen indeholder elementerne {32, 6, 8, 7, 2} returnerer MEMBER(6) ja og MEMBER(4) nej. Angiv for hver af datastrukturerne hvor lang tid det vil tage at udføre MEMBER(x) operationen i O-notation som funktion af n, hvor n er antallet af elementer i datastrukturen. Tabel sorteret i stigende rækkefølge: Max-hob: Min-hob: Usorteret tabel: Binært søgetræ: 7

Eksamen 0205, Forår 205 side 8 af 5 3 Grafer Betragt følgende graf G. 6 7 8 9 2 3 4 5 0 3. (4 %) Angiv et DFS træ for G med start i knude 6 og angiv starttid og sluttid for alle knuder. Antag at incidenslisterne er sorteret. 6 7 8 9 2 3 4 5 0 3.2 (4 %) Angiv et BFS træ for G med start i knude 6 og angiv BFS-lag for hver knude. Antag at incidenslisterne er sorteret. 6 7 8 9 2 3 4 5 0 8

Eksamen 0205, Forår 205 side 9 af 5 3.3 (4 %) Betragt nedenstående graf H. Angiv et mindste udspændende træ T for H samt den samlede vægt af T. 5 6 7 8 9 2 2 9 6 7 8 2 9 3 4 5 5 3 20 42 5 0 0 4 6 7 8 9 2 3 4 5 0 Samlet værdi: 9

Eksamen 0205, Forår 205 side 0 af 5 4 Træer Denne opgave omhandler rodfæstede binære træer. Enhver knude x har felterne x.parent, x.left og x.right, der betegner hhv. forældre, det venstre barn og det højre barn for x. For roden r, er r.parent = null. Derudover har enhver knude x en vægt betegnet ved et felt x.weight. 4. ( %) Lad x være en knude i træet. Stisummen for x er summen af vægtene af alle knuder på stien fra x til roden af træet (inklusive x og r). Træsummen for x er summen af vægtene af alle efterkommere af x (inklusive x selv). Betragt nedenstående træ med vægte skrevet i hver knude. Angiv stisum og træsum for knuden v. 2 3 7 4 2 7 3 v 3 4 4 5 4 0 Stisum for v : Træsum for v : 4.2 (6 %) Giv en rekursiv algoritme TRÆSUM(X), der givet en knude x returnerer træsummen for x. Skriv din algoritme i pseudokode og analyser køretiden af din algoritme som funktion af n, hvor n er antallet af knuder i træet. 0

Eksamen 0205, Forår 205 side af 5 4.3 (8 %) Giv en algoritme STISUM(X), der givet en knude x returnerer stisummen for x. Skriv din algoritme i pseudokode og analyser køretiden af din algoritme som funktion af d, hvor d er dybden af træet.

Eksamen 0205, Forår 205 side 2 af 5 5 Plantegning Et plantegning består af en mængde af R rum r 0,.., r R og D døre d 0,.., d D, der hver forbinder præcis to rum. Hvert rum er en geometrisk figur og en dør mellem to rum er angivet ved tre små fede streger mellem rummene. F. eks. består nedenstående plantegning P af rum og 2 døre. 5. (2 %) Beskriv hvordan man kan modellere en plantegning som en graf. 5.2 (2 %) Tegn grafen svarende til plantegningen P i eksemplet ovenfor. 2

Eksamen 0205, Forår 205 side 3 af 5 5.3 (5 %) Vi er nu interesserede i at undersøge om det er muligt at evakuere rummene i tilfælde af en brand. Entréen er et særligt rum på plantegningen. En branddør er en dør, der automatisk lukker i tilfælde af brand. Et rum kan evakueres til entréen hvis der er en forbindelse fra rummet til entreen, der ikke benytter branddøre. Giv en algoritme, der givet en plantegning, en entré e og en mængde B af k branddøre, afgør om alle rum kan evakueres til e. Analyser køretiden af din algoritme som funktion af R, D, og k. 3

Eksamen 0205, Forår 205 side 4 af 5 5.4 (8 %) Til enhver dør d knytter vi nu et sikkerhedsniveau, sikkerhed(d), som er et positivt heltal. For at benytte en dør d kræves der at man har sikkerhedsniveau mindst sikkerhed(d). Giv en algoritme, der givet en plantegning og to rum r og r 2 finder det minimale sikkerhedsniveau der kræves for at kunne komme fra r til r 2. Analyser køretiden af din algoritme som funktion af R og D. 4

Eksamen 0205, Forår 205 side 5 af 5 Vi er nu interessede i at udstille kunst i form af enten en skulptur eller et maleri i alle rum på en behagelig facon. En rute i plantegning er en sekvens af rum r 0,...,r z således at rum r i og r i er forbundet af en dør, og r 0 = r z. Et rum må gerne besøges mange gange på ruten. En rute er smuk hvis der i hvert rum på ruten skiftevis er udstillet en skulptur eller et maleri. 5.5 (2 %) Kig på eksemplet med plantegningen P fra før. Er muligt at udstille en skulptur eller et maleri i hvert rum således at alle ruter der starter og slutter i rummet længst til venstre er smukke? Ja Nej 5.6 (6 %) Giv en algoritme, der givet en plantegning og en entré e, afgør om alle ruter der starter og slutter i e er smukke. Vi antager at der er en rute fra e til alle rum. Analyser køretiden af din algoritme som funktion af R og D. 5