Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Like dokumenter
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Plan. MAT1030 Diskret matematikk. Eksamen 12/6-06 Oppgave 2. Noen tips til eksamen

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Ekstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Rekursjon og induksjon. MAT1030 Diskret matematikk. Induksjonsbevis. Induksjonsbevis. Eksempel (Fortsatt) Eksempel

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

MAT1030 Forelesning 16

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Algdat Eksamensforelesning. Nils Barlaug

MAT1030 Forelesning 21

Kapittel 9: Mer kombinatorikk

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

MAT1030 Forelesning 21

Studentnummer: Side 1 av 1. Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005

ALGORITMER OG DATASTRUKTURER

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)

Lars Vidar Magnusson

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamen i tdt4120 Algoritmer og datastrukturer

Forelesning 20. Kombinatorikk. Roger Antonsen - 7. april 2008

Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Førsteordens lineære differensiallikninger

ALGORITMER OG DATASTRUKTURER

Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl

Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl

Fra A til B. Syvende forelesning

Grunnleggende Datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl

Avsluttende eksamen i IT1105/TDT4120 Algoritmer og datastrukturer

IN Algoritmer og datastrukturer

Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger

Lars Vidar Magnusson Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Kjøretidsanalyse. Hogne Jørgensen

Spenntrær, oppsummert: Kruskal: Traverserer ikke. Plukker kanter i hytt og vær Prim: Legger alltid til den noden som er nærmest treet

Lineær sortering. Radix sort

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Øvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl

Teoriøving 7 + litt om Ford-Fulkerson. Magnus Lie Hetland

Prioritetskøer. Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper

Grunnleggende Grafalgoritmer II

ALGORITMER OG DATASTRUKTURER

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

INF2220: Time 12 - Sortering

INF Algoritmer og datastrukturer

Algdat-ninja på 60 minutter: Et galskapsprosjekt. Magnus Lie Hetland

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

INF Algoritmer og datastrukturer

Notater til INF2220 Eksamen

n/b log b n = (lg n) a log b n = n log b a

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

INF Algoritmer og datastrukturer

Divide-and-Conquer II

INF Algoritmer og datastrukturer

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Algdat Oppsummering, eksamen-ting. Jim Frode Hoff

LO118D Forelesning 12 (DM)

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

deeegimnoorrrsstt Sjette forelesning

INF Algoritmer og datastrukturer

IN Algoritmer og datastrukturer

Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer

Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

Agenda. 1 Sortering, heap og select. 2 Binære trær. 3 Grafer, BFS og DFS. 4 Spenntrær og Korteste vei. 5 Maks flyt. 6 Dynamisk programmering

Definisjon av binært søketre

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Minimum Spenntrær - Kruskal & Prim

Eksamenshefte TDT4120 Algoritmer og datastrukturer

Innhold. Innledning 1

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer

Løsningsforslag for Obligatorisk Oppgave 2. Algoritmer og Datastrukturer ITF20006

EKSAMEN. Ta med utregninger i besvarelsen for å vise hvordan du har kommet fram til svaret.

Obligatorisk oppgave 4 i INF4400 for Jan Erik Ramstad

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø

Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre:

Høgskoleni østfold EKSAMEN. 4 dobbeltsidige ark med notater Lars Magnusson

Transkript:

Institutt for datateni og informasjonsvitensap Esamensoppgave i TDT40 Algoritmer og datastruturer Faglig ontat under esamen Magnus Lie Hetland Telefon 98 5 949 Esamensdato 5 august, 08 Esamenstid (fra til) 09:00 :00 Hjelpemiddelode/tillatte hjelpemidler D Målform/språ Bomål Antall sider (uten forside) 4 Antall sider vedlegg 0 Informasjon om trying av esamensoppgave Originalen er -sidig -sidig sort/hvit i farger Sal ha flervalgsjema Kontrollert av Dato Sign Mer: Studenter finner sensur i Studentweb Har du spørsmål om din sensur må du ontate instituttet ditt Esamensontoret vil ie unne svare på slie spørsmål

Side av 4 Les dette nøye (i) (ii) Les hele esamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom loalet Ha evt spørsmål lare! (iii) Sriv bare så mye du mener er nødvendig Svar som inneholder irrelevante aspeter an regnes som helgardering, og det an tree ned! Mer: Varianter av de foreslåtte svarene nedenfor vil naturligvis også unne gis uttelling, i den grad de er helt eller delvis orrete Oppgaver med løsninger 5% Betrat følgende utsagn (der redusjonene antas å ta polynomis tid): (i) Et problem B i NP er NP-omplett dersom alle problemer i NP an reduseres til B (ii) For A, B NP, der A er NP-omplett: Dersom vi an redusere fra A til B så er B NP-omplett Forlar ort hvorfor (ii) følger av (i) Det er en direte onsevens av at redusjon er transitivt: Om vi an redusere fra C til A, så an vi også redusere til B, ved å gå via A Summen av to polynomise jøretider er fortsatt polynomis, så vi an altså redusere fra alle problemer i NP til B Relevant læringsmål: Forstå hvordan NP-ompletthet an bevises ved én redusjon 5% Hva er jøretiden til Insertion-Sort på en sortert tabell? Θ(n) Relevant læringsmål: Forstå Insertion-Sort 5% Hva sier heltallsteoremet (the integrality theorem)? Om alle apasiteter er heltall, så er totalflyt og flyten i alle anter heltall Relevant læringsmål: Forstå heltallsteoremet (integrality theorem) 5% 4 Om vi viser at grådighetsegensapen (the greedy-choice property) holder har vi lievel ie vist at grådighet er orret Forlar Vi må vise at vi har optimal delstrutur Grådighetsegensapen viser at vi an gjøre ett grådig valg uten å miste muligheten til å finne optimum, men det betyr ie at vi an fortsette å velge grådig For å unne si det, må vi brue indusjon, og må dermed vite at vi etter et grådig valg sitter igjen med et problem av samme form Relevant læringsmål: Forstå grådighetsegensapen (the greedy-choice property) 5% 5 Du starter med en sammenhengende graf G = (V, E) og sletter anter fra E til det finnes nøyatig én sti mellom ethvert par med noder u, v V Hva alles den resulterende grafen G = (V, E)? (Mer: Her spørres det etter forholdet mellom G og G, ie hva G er isolert) Et spenntre Relevant læringsmål: Vite hva spenntrær og minimale spenntrær er tdt40 Algoritmer og datastruturer 5 august, 08

Side av 4 5% 6 Du prøver å implementere BFS for urettede grafer, men på grunn av en odefeil, er reefølgen på nodene i øen din ie lenger FIFO, men helt vilårlig Kan du nå være sier på å besøe alle nodene? Forlar Ja, dersom grafen er sammenhengende (Dvs, vi får besøt de samme nodene som for BFS) Om vi ie har besøt alle nodene, må minst én av dem være nabo av en av dem vi har besøt Den vil dermed ha blitt lagt i øen, og vil bli pluet ut på et eller annet tidspunt Vi vil med andre ord ie avslutte før alle er besøt Relevant læringsmål: Forstå traversering med vilårlig prioritetsø 5% 7 Vi an memoisere en funsjon, så vi slipper å regne den ut flere ganger om den alles med samme argumenter igjen Det an være en nyttig optimalisering i prasis, som en form for hurtigminne (cache), men har det noen teoretis betydning for asymptotis jøretid? Forlar Ja Vi an spare et esponentielt antall all til funsjoner lenger ned i alltreet, dersom vi har overlappende delproblemer Relevant læringsmål: Forstå løsning ved memoisering (top-down) 5% 8 Hvordan fungerer Relax(u, v, w)? Hvis vd > ud + w(u, v) har vi funnet en snarvei, og vd oppdateres Vi setter da vπ til u Relevant læringsmål: Forstå ant-slaing (edge relaxation) og Relax 5% 9 Hva er forsjellen på onrete og abstrate problemer, sli boa definerer dem? Et abstrat problem er en vilårlig binær relasjon mellom instanser og løsninger, mens for onrete problemer er de gyldige instansene alle binære strenger Relevant læringsmål: Forstå forsjellen på onrete og abstrate problemer 5% 0 Hvordan fungerer List-Delete(L, x)? Enten xprevnext (hvis den finnes) eller Lhead settes til xnext, mens xnextprev (hvis den finnes) settes til x prev Relevant læringsmål: Forstå hvordan lenede lister fungerer (List-Search, List-Insert, List-Delete, List-Delete, List-Search, List-Insert ) 5% Hvordan an vi si at Merge-Sort er optimal? Forlar Fordi den har jøretid på Θ(n lg n), og noe bedre er umulig i verste tilfelle, for sammenligningsbasert sortring Relevant læringsmål: Forstå hvorfor sammenligningsbasert sortering har en worst-case på Ω(n lg n) 5% Anta at du har funnet den transitive luningen (transitive closure) G = (V, E ) av grafen G = (V, E), i form av en bools matrise Vis hvordan G an oppdateres effetivt dersom en ant {u, v} legges til i G Hva blir jøretiden? For alle {s, u}, {v, t} E, legg til {s, t}, om nødvendig Kjøretid O(V ) Relevant læringsmål: Forstå Transitive-Closure (Basert på oppgave 5-(a) i læreboa) 5% Anta at du starter med et tomt binært søetre og setter inn n verdier fra verdiområdet,,, der n Reefølgen på verdiene er,,,,,,,,, altså verdiene fra til gjentatte ganger Hva blir høyden til søetreet? Oppgi svaret som funsjon av n og Du an anta at n er delelig på Ie bru asymptotis notasjon Forlar ort, gjerne med en figur (Mer: For å følge boas implementasjon, sal nodene i venstre deltre være strengt mindre enn rota Hus at høyden måles i antall anter, ie noder) Se figur nedenfor Verdien foreommer n/ ganger, og ligger på de n/ nederste nivåene Over dette er det nivåer Totalt får vi altså n + n/ nivåer Høyden blir dermed + n/ Relevant læringsmål: Forstå hvordan binære søetrær fungerer (Inorder-Tree-Wal, Tree-Search, Iterative-Tree-Search, Tree-Minimum, Tree-Maximum, Tree-Successor, Tree-Predecessor, Tree- Insert, Transplant, Tree-Delete) tdt40 Algoritmer og datastruturer 5 august, 08

Side av 4 4 4 + + n + n 5% 4 Løs følgende reurrens: T(n) = 4T(n/) + / n Sriv svaret med Θ-notasjon Θ(n ) Relevant læringsmål: Kunne løse reurrenser med substitusjon, reursjonstrær og masterteoremet Den såalte Acermannfunsjonen defineres sli: n + hvis m = 0; A(m, n) = A(m, ) hvis m > 0 og n = 0; A(m, A(m, n )) hvis m > 0 og n > 0; () der m og n er ie-negative heltall 5% 5 Hva er A(, n) som funsjon av n? Ie bru asymptotis notasjon Vis utregning Dette er bare en lett amuflert utgave av den veljente reurrensen f (n) = f (n ) +, om man lar A(, n) = f (n), siden A(, n) = A(0, A(, n )) = A(, n ) + Man får f (0) = A(, 0) = A(0, ) =, så A(, n) = f (n) = n + Litt mer detaljert utregning (reves ie): A(, n) = A(0, A(, n )) = A(, n ) + () = A(0, A(, n )) = A(, n ) + () = A(0, A(, n )) = A(, n ) + () = A(0, A(, n n)) = A(, n n) + n (n) = A(0, ) + n = n + ( ) Relevant læringsmål: Kunne løse reurrenser med substitusjon, reursjonstrær og masterteoremet tdt40 Algoritmer og datastruturer 5 august, 08

Side 4 av 4 En orientering av en urettet graf G = (V, E) er en tilordning av retning til hver ant e E, som resulterer i en ny rettet graf D = (V, A), der hver urettet ant {u, v} i E tilsvarer en rettet ant (u, v) eller (v, u) i A, og omvendt Nedenfor er et esempel på en urettet graf G og noen orienteringer D i G D D D D 4 Her er D og D 4 esempler på asylise orienteringer En ster orientering er stert sammenhengende (strongly connected, det vil si, fra enhver node u finnes det en rettet sti til enhver annen node v) Esempler på dette er D og D Disse finnes bare hvis ethvert snitt inneholder minst to anter I en -orientering har enhver node v masimalt (v) inn-anter, for en funsjon : V N 5% 6 Din venn Smartnes prøver å finne én bestemt orientering med visse egensaper og hun bruer en form for binærsø: Til å begynne med er alle orienteringer mulige løsninger, men for hver iterasjon halveres antallet andidater, helt til én gjenstår Én iterasjon tar lineær tid som funsjon av antall anter, m Hva blir den totale jøretiden? Oppgi svaret med Θ-notasjon Forlar ort Det er m mulige orienteringer, og log m = m, så vi får Θ(m) iterasjoner, og jøretid Θ(m ) Relevante læringsmål: Kjenne til enel ombinatori, som permutasjoner og ombinasjoner; unne definere asymptotis notasjon, O, Ω, Θ, o og ω; forstå Bisect og Bisect 0% 7 Hvordan an du effetivt finne asylise og stere orienteringer? Bru DFS, og bru retningen til tre-antene (tree edges) Hver gjenværende ant er mellom en etterommer og en av stamforeldrene i DFS-treet Rettes disse nedover i treet, brytes alle syler, og orienteringen blir asylis En ster orientering har vi hvis og bare hvis ethvert par u, v E ligger på en syel Hvis en sli orientering finnes, holder det om vi bevarer alle urettede syler som rettede, og det an vi gjøre ved å gi baoverantene retning oppover i treet Relevante læringsmål: Forstå hvordan DFS lassifiserer anter; unne onstruere nye effetive algoritmer 0% 8 Hvordan an du effetivt finne -orienteringer ved hjelp av mas-flyt? For esempel la hver ant «produsere» enhet flyt som an gå til én av endenodene, og gi hver node v en apasitet på (v) Dette gjør du ved å splitte antene med nye noder oblet til ilden, og å ilde hver opprinnelig node til sluet For en ant e = {u, v} E får vi fes: s u e v (u) (v) t Relevante læringsmål: Kunne definere flytnettver, flyt og mas-flyt-problemet; unne onstruere nye effetive algoritmer tdt40 Algoritmer og datastruturer 5 august, 08