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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Eksamen i tdt4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

ALGORITMER OG DATASTRUKTURER

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

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.

ALGORITMER OG DATASTRUKTURER

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

Dijkstras algoritme Spørsmål

ALGORITMER OG DATASTRUKTURER

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

ALGORITMER OG DATASTRUKTURER

Avsluttende eksamen i IT1105/TDT4120 Algoritmer og datastrukturer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

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

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

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

Maks Flyt og NPkompletthet

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

Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO

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

Eksamensoppgave i MA1201 Lineær algebra og geometri

Algdat Eksamensforelesning. Nils Barlaug

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

Øvingsforelesning Korteste vei: Alle til alle

Avsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs

Eksamensoppgave i TMA4140 Diskret matematikk

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

Avsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs (løsningsforslag)

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Eksamenshefte TDT4120 Algoritmer og datastrukturer

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Minimum Spenntrær - Kruskal & Prim

Algoritmer og Datastrukturer

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Eksamensoppgave i TMA4140 Diskret matematikk

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

Algdat - Øvingsforelesning. Maks flyt

Oppgave 1. Sekvenser (20%)

Eksamensoppgave i TMA4140 Diskret matematikk

Øvingsforelesning 7. Dijkstras algoritme. Foiler: Fredrik Ludvigsen Foreleser: Jon Marius Venstad 10/4/09 1

Algoritmer og Datastrukturer

Algdat Oppsummering, eksamen-ting. Jim Frode Hoff

ALGORITMER OG DATASTRUKTURER

deeegimnoorrrsstt Sjette forelesning

Fra A til B. Syvende forelesning

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

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

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

Notater til INF2220 Eksamen

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

Grunnleggende Grafteori

København 20 Stockholm

All good things. Fjortende forelesning

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.

Innhold. Innledning 1

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

Pensum: fra boken (H-03)+ forelesninger

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

EKSAMEN med løsningsforslag

Forelesningsplan. Grådighet. LF Øving 9. Hva er grådighet? Aktivitetsvelger En grådig strategi Grådig eller dynamisk? Knapsack Huffmankoding

Pensum: fra boken (H-03)+ forelesninger

Øvingsforelesning 12 Maks flyt

EKSAMEN. Emne: Algoritmer og datastrukturer

Løsnings forslag i java In115, Våren 1998

Avanserte flytalgoritmer

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

Transkript:

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 7. desember 2013 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode Målform/språk Antall sider 6" Antall sider vedlegg 0 Kontrollert av D. Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Bokmål Pål Sætrom Dato Merk Studenter finner sensur i Studentweb. Har du spørsmål om din sensur må du kontakte instituttet ditt. Eksamenskontoret vil ikke kunne svare på slike spørsmål. Sign

Les alle oppgavene før du begynner, disponer tiden og forbered spørsmål til faglærer ankommer lokalet. Gjør antagelser der det er nødvendig. Skriv kort og konsist på angitt sted. Lange forklaringer og utledninger som ikke direkte besvarer oppgaven tillegges liten eller ingen vekt. Algoritmer kan beskrives med tekst, pseudokode eller programkode, etter eget ønske (med mindre annet er oppgitt), så lenge det klart fremgår hvordan den beskrevne algoritmen fungerer. Korte, abstrakte forklaringer kan være vel så gode som utførlig pseudokode, så lenge de er presise nok. Algoritmer som konstrueres bør generelt være så effektive som mulig, med mindre annet er opplyst. Kjøretider oppgis med asymptotisk notasjon, så presist som mulig. Alle deloppgavene teller like mye. 1. Hva er det minimale og maksimale antall kanter i en sammenhengende, urettet graf med n noder? Minimum: Maksimum: 2. Hva er det minimale og maksimale antall noder i et binærtre med rot og dybde n? (Dybden er det maksimale antall kanter på en sti fra rota.) Minimum: Maksimum: 3. Hva er forventet (average-case) asymptotisk kjøretid for et mislykket søk i en hash-tabell med m plasser (slots) som inneholder n elementer? Uttrykk svaret som funksjon av n og m. (Du kan anta enkel, uniform hashing og at kollisjoner løses vha. chaining.) Svar: 4. Et problem kan ofte brytes ned i delproblemer, der enkelte delproblemer er avhengige av andre delproblemer. For å løse problemet, må delproblemene løses i en rekkefølge som tilfredsstiller disse avhengighetene. Om man ser på delproblemene som noder og avhengighetene som kanter i en rettet graf, hva kalles en slik rekkefølge? Svar: 5. Løs rekurrensen T(n) = T(n+1) 2 n ; T(1) = 1. Oppgi svaret eksakt. Svar: Side " 2 av " 6

" TDT4120 2013-12-07 6. Følgende rettede graf representerer et flytnettverk, med angitte kapasiteter. Hva er maksimal flyt fra node E til node L? A 5 B 6 C 4 D 7 4 8 6 E 3 F G 9 H 9 2 12 2 20 I 6 J 11 K L Svar: 7. Hva er maks-haug-egenskapen (the max-heap property)? Svar: 8. Sortering av n elementer kan generelt ikke utføres i O(n) tid. Likevel klarer f.eks. tellesortering (counting-sort) dette. Hvordan kan det ha seg? Svar: 9. Din venn påstår å ha oppfunnet en algoritme som løser traveling salesman-problemet i O(n log(log(n))) tid, der n er antall noder i grafen. Hvis din venns påstand var korrekt, ville det få noen viktige konsekvenser? Forklar kort. Svar: Side " 3 av " 6

10. Du har n venner. Du vet at noen av vennene dine hater hverandre. Hatet er alltid gjensidig. Du vet akkurat hvilke par av venner som hater hverandre. Du ønsker å «unfriende» (avslutte vennskapet med) noen av vennene, slik at ingen av de gjenværende vennene hater hverandre. Din oppgave er å avgjøre om du kan løse dette problemet ved å unfriende k venner, der k er en input-parameter. Du kan anta at dette beslutningsproblemet er i NP. Vis at det er NP-komplett. Forklar deg presist, og inkluder alle nødvendige deler av et slikt argument. Svar: 11. Student Lurvik hevder at han har funnet en måte å få Dijkstras algoritme til å tåle negative kanter: Finn den korteste kanten, altså den «mest negative», og kall lengden dens for w. Adder w + 1 til alle kantlengdene, slik at alle kantene får positive lengder. Kjør deretter DIJKSTRA på den modifiserte grafen; ta svaret man får og bruk de tilsvarende kantene i den originale grafen. Bevis at dette alltid gir rett svar, eller finn et moteksempel som viser at Lurvik sin algoritme kan gi feil svar. Svar: Side " 4 av " 6

12. Dijkstras algoritme kan implementeres ved å bruke en binærhaug (binary heap) som prioritetskø, eller ved å bare bruke den usorterte nodetabellen som prioritetskø. Dette fører til forskjellige kjøretider. Gitt følgende pseudokode for DIJKSTRA, oppgi de linjene som blir påvirket av dette valget og forklar hvorfor kjøretidene blir hhv. O(E lg V) og O(V 2 ). Når bør man bruke hva? DIJKSTRA(G, w, s) 1 INITIALIZE-SINGLE-SOURCE(G, s) 2 S = 3 Q = G.V 4 while Q 5 u = EXTRACT-MIN(Q) 6 S = S {u} 7 for each vertex v G.Adj[u] 8 RELAX(u, v, w) Linjer som påvirkes (linjenummer): Forklaring av kjøretider: Når man bør bruke usortert liste/tabell: 13. Multiplikasjon av en matrise med n rader og m kolonner med en matrise som har m rader og k kolonner har kjøretiden O(nmk). Algoritmen for å løse 0/1-knapsack-problemet hvor man skal stjele n gjenstander ved hjelp av en sekk som har kapasitet k kjører på O(nk). Førstnevnte algoritme har polynomisk kjøretid, mens den andre algoritmen har eksponentiell kjøretid. Hvordan forklarer man dette? Svar: Side " 5 av " 6

14. Din venn Smartnes mener han har lest i pensum at worst-case-kjøretiden til sammenligningsbasert sortering er Ω(n lg n), men han skjønner ikke helt hva det betyr. Forklar kort hva det betyr, eller forklar kort hvorfor dette ikke gir mening. Svar: 15. To personer skal besøke en sekvens med byer. Du har oppgitt en ordnet sekvens av n byer, og avstandene mellom alle par med byer. Du skal fordele byene i to subsekvenser (der byene ligger i sin opprinnelige rekkefølge, men ikke nødvendigvis rett etter hverandre i den opprinnelige sekvensen) sånn at person A besøker byene i den første sekvensen (i rekkefølge) men ingen av de andre, person B besøker byene i den andre sekvensen (i rekkefølge) men ingen av de andre, og sånn at summen av avstandene A og B reiser totalt er minimert. (Hver by skal altså besøkes av nøyaktig én av A eller B.) Anta at A og B starter i de første byene i sine respektive subsekvenser. Beskriv en effektiv algoritme som løser problemet. Hva blir kjøretiden? Svar: Side " 6 av " 6