Eksamen i 45011 Algoritmer og Datastrukturer Torsdag 12. januar 1995, Kl. 0900-1300.



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

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamen i tdt4120 Algoritmer og datastrukturer

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

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

ALGORITMER OG DATASTRUKTURER

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

Algoritmer og Datastrukturer

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

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Innhold. Innledning 1

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Løsningsforslag - Korteste vei

KONTINUASJONSEKSAMEN

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

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

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

MAT1030 Forelesning 30

Korteste vei i en vektet graf uten negative kanter

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Eksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi

KONTINUASJONSEKSAMEN I FAG ALGORITMER OG DATASTRUKTURER

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

ALGORITMER OG DATASTRUKTURER

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Algoritmer og Datastrukturer

UNIVERSITETET I OSLO

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Løsningsforslag for utvalgte oppgaver fra kapittel 9

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMENSOPPGAVE. INF-1101 Datastrukturer og algoritmer. Adm.bygget, rom K1.04 og B154 Ingen

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

Korteste Vei II. Lars Vidar Magnusson Kapittel 24 Bellman-Ford algoritmen Dijkstra algoritmen

UNIVERSITETET I OSLO

Forelesning 9 mandag den 15. september

Avsluttende eksamen i IT1105/TDT4120 Algoritmer og datastrukturer

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00

Pensum: fra boken (H-03)+ forelesninger

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

UNIVERSITETET I OSLO

Pensum: fra boken (H-03)+ forelesninger

SIF8010 ALGORITMER OG DATASTRUKTURER

Algoritmeanalyse. (og litt om datastrukturer)

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

GRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær

Forelesning 28: Kompleksitetsteori

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

København 20 Stockholm

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

Høgskolen i Gjøvik. Avdeling for elektro- og allmennfag K O N T I N U A S J O N S E K S A M E N. EKSAMENSDATO: 11. august 1995 TID:

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Oppgave 1. Sekvenser (20%)

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Algdat Oppsummering, eksamen-ting. Jim Frode Hoff

Algoritmer og Datastrukturer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

E K S A M E N. EKSAMENSDATO: 15. desember 1994 TID: Kladd og oppgavearkene leveres sammen med besvarelsen. Kladd merkes med "KLADD".

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b

PG4200 Algoritmer og datastrukturer Forelesning 10

Norges Informasjonsteknologiske Høgskole

Øvingsforelesning 2 - TDT4120. Grafer og hashing. Benjamin Bjørnseth

Notater til INF2220 Eksamen

IN Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Løsningsforslag for utvalgte oppgaver fra kapittel 3

UNIVERSITETET I OSLO

Minimum Spenntrær - Kruskal & Prim

Løsningsforslag - Parallellitet og repetisjon

Norsk informatikkolympiade runde

INF1020 Algoritmer og datastrukturer GRAFER

Transkript:

UNIVERSITETET I TRONDHEIM NORGES TEKNISKE HØGSKOLE INSTITUTT FOR DATATEKNIKK OG TELEMATIKK 034 Trondheim Side 1 av 5 Eksamen i 45011 Algoritmer og Datastrukturer Torsdag 1. januar 1995, Kl. 0900-1300. Hjelpemidler: Godkjent lommekalkulator samt alle trykte og håndskrevne hjelpemidler. Faglig kontakt: Bjørn Olstad, tlf.: 359344 Oppgave 1 (6 %) I et sanntidsinstrument trenger man å få sortert tabeller med 10.000 reelle tall. En ny slik tabell ankommer hvert sekund og det er derfor avgjørende at sorteringen alltid kan gjøres på under ett sekund. For å velge riktig sorteringsalgoritme har man implementert en del sorteringsalgoritmer og tatt tiden på sortering av en slik vektor med 10.000 elementer: Sorteringsmetode Innsettingssortering Boblesortering Quicksort Heapsort Mergesort Tid i millisekunder 1630 ms 160 ms 450 ms 610 ms 850 ms Foreslå hvilken av sorteringsalgoritmene i tabellen ovenfor som bør velges. Begrunn svaret. Oppgave (6 %) Nedenfor er det vist to alternative måter å implementere QuickSort på: Alternativ A: Alternativ B: QuickSortA( A,p,r ) QuickSortB( A,p,r ) if (r-p) 8 if (r-p) 8 then q Partition( A,p,r ) then q Partition( A,p,r ) QuickSortA( A,p,q ) QuickSortB( A,p,q ) QuickSortA( A,q+1,r ) QuickSortB( A,q+1,r ) else Innsettsorter( A,p,r )... QuickSortA( A,1,n ) QuickSortB( A,1,n ) Innsettsorter( A,1,n )... Forklar kort hvorfor det kan være nyttig å benytte Innsettsorter i QuickSort. Hva tror du er mest tidseffektivt av alternativ A og alternativ B gitt ovenfor. Begrunn valget.

Side av 5 Oppgave 3 (6 %) Det skal lages et program som gjør raskt oppslag i en samling med 10.000.000 poster. Postene kan sorteres etter den nøkkelen som det skal søkes på. Selve dataene utgjør 600 MB og dataene skal legges på et eksternt medium som harddisk, CD-ROM, etc. Programmet skal kunne kjøres på en personlig datamaskin med kun 4 MB arbeidslager (RAM). Gi et begrunnet valg for enten et 3-tre eller et generelt B-tre som datastruktur for de 10.000.000 postene i følgende to tilfeller: 3a) Det eksterne mediumet er kjennetegnet ved svært treg søketid (ved tilfeldig posisjonering), men svært rask dataoverføringsrate. 3b) Det eksterne mediumet er kjennetegnet ved svært rask søketid (ved tilfeldig posisjonering), men svært lav dataoverføringsrate. Oppgave 4 (6 %) I figuren under er det vist en haug (heap). Utfør 3 Extract-Max operasjoner på den viste haugen og sett deretter inn tallet 0. Tegn haugen slik den vil se ut etter disse 4 operasjonene. 1 8 10 6 5 9 Oppgave 5 (6 %) Det er i pensum vist at sortering er Ω( n log(n) ). Samtidig vises det at tellesortering kan være O( n ). Forklar kort hvorfor disse to utsagnene ikke motsier hverandre. Oppgave 6 (6 %) Forklar kort formålet med en hash-funksjon. Tegn deretter hash-tabellen man får etter at man har satt inn heltallene 5, 3, 3, 44, 33 og 8 i en hash-tabell med hash-funksjonen: h(k) = k mod 10. Tallene skal settes inn i nevnte rekkefølge og kollisjoner skal løses ved hjelp av "linear probing".

Side 3 av 5 Oppgave (30 %) I figuren nedenfor er det vist en urettet graf med kostnader på kantene: A 0 13 B 10 C 1 D I 5 M 1 11 J E 15 3 N 18 K 9 8 19 O F 1 6 L P G 4 14 1 H 16 Q a) Gi en lovlig nummerering av nodene "A",..,"Q" ut fra et BFS-søk som starter i node "A". b) Gi en lovlig nummerering av nodene "A",..,"Q" ut fra et DFS-søk som starter i node "A". c) Gi et enkelt bevis for at kanten mellom node "N" og "O" hører med i grafens minimale spenntre. d) Finn grafens minimale spenntre ved hjelp av Prims algoritme. Tegn det resulterende spenntreet og merk kantene med et nummer som indikerer i hvilken rekkefølge Prims algoritme har innlemmet kantene i det spenntreet som bygges opp av algoritmen. e) Kjør Dijkstras algoritme på grafen med node "A" som kildenode. Fyll inn korteste avstand til node "A" i alle nodene. f) Finn den maksimale flyten man kan ha mellom node "A" og node "D". Oppgave 8 (6 %) Et selskap har samlet alle sine elektroniske dokumenter og tilgjengelige oppslagsverk i en ustrukturert "tekstfil" som utgjør 500 MB. En bruker har lyst til å søke i denne tekstfila etter strengen: "kjente feil med produktet QuickJazz" Hvilken tekstsøkealgoritme tror du er best egnet til å utføre dette søket. Du kan anta at hele tekstfila ligger i maskinens arbeidslager. Begrunn valget.

Side 4 av 5 Oppgave 9 (8 %) 9a) Vi skal reise langs en fast reiserute med bil. Langs denne ruta kjenner vi til hvor det er bensinstasjoner og hvilken pris hver enkelt bensinstasjon tar for den bensintypen som vår bil benytter. Oppgaven går ut på å finne ut hvilke bensinstasjoner vi bør tanke på samt hvor mange liter vi bør tanke på hver av disse bensinstasjonene. Målet er å bruke minst mulig penger for å kunne nå fram til bestemmelsesstedet. Vi kan anta at tanken er tom når vi starter og at tanken maksimalt rommer 40 liter bensin. Det spiller ingen rolle hvor mye bensin som er på tanken når vi kommer fram til bestemmelsesstedet. Videre vil vi anta at bilen bruker 1 liter bensin per mil uansett kjøremåte og veiforhold. Beskriv en best mulig algoritme for dette problemet i pseudo-kode og angi algoritmens tidskompleksitet som funksjon av N som er antall bensinstasjoner langs den valgte reiseruta. Du kan anta at algoritmens inndata er gitt ved: VAR Avstand Pris : Array[1..N] of Integer; : Array[1..N] of Real; "Avstand[i]" er avstanden i antall mil fra startsstedet og fram til bensinstasjon nummer "i" langs den valgte reiseruta, mens "Pris[i]" er bensinprisen på denne bensinstasjonen. Startsstedet og bestemmelsesstedet er gitt ved henholdvis bensinstasjon nummer 1 og N. 9b) I denne oppgaven skal vi løse det samme problemet som i oppgave (9a), men reiseruta er nå ikke fastlagt på forhånd. Du kan gjøre de samme antagelsene som i oppgave (9a). Beskriv en best mulig algoritme i pseudo-kode som finner en reiserute fra startsstedet og fram til bestemmelsesstedet. Reiseruta skal være slik at det koster minst mulig å nå fram til bestemmelsesstedet langs denne ruta. Du kan anta at algoritmens inndata er gitt ved: VAR Avstand Pris : Array[1..N,1..N] of Integer; : Array[1..N] of Real; "Avstand[i,j]" er avstanden i antall mil fra bensinstasjon nummer "i" og fram til bensinstasjon nummer "j". Avstand[i,j]= hvis det ikke går en direkte vei mellom bensinstasjonene uten andre bensinstasjoner. "Pris[i]" er bensinprisen på bensinstasjon nummer "i". Startsstedet og bestemmelsesstedet er gitt ved henholdvis bensinstasjon nummer 1 og N. HINT: En mulig løsning av problemet er gitt ved Dijkstra algoritme anvendt på en graf som er avledet av inndataene til problemet og parametrene som er gitt i antagelsene under oppgave (9a). Oppgaven kan besvares ved å beskrive denne grafen (hvordan er nodene, kantene og kantkostnadene definert?). På neste side er det gitt et praktisk eksempel som illustrerer problemet.

Powered by TCPDF (www.tcpdf.org) Side 5 av 5 Eksempel for oppgave (9b): A 13 0 B 10 C 1 D I 5 M 1 11 J E 15 3 N 9 K 18 8 19 O F 1 6 L P G 4 14 1 H 16 Q Bensintasjon "1" = node "A" (Startsstedet) Bensinstasjon "" = node "B".. Bensinstasjon "1" = Node "Q" (Bestemmelsesstedet) Avstand[i,j] er angitt med kanter og kostnader i figuren. Ingen kanter er tegnet der Avstand[i,j]=. Den sorte veien viser optimal reiserute og tabellen under gir bensinprisen på stasjonene og hvor mye man burde fylle på de ulike stasjonene: Bensinstasjon Pris (kr/liter) Tanking i liter A 0.00 1 B 5.00 C 10.00 D 6.50 E 18.00 F 1.50 G 1.00 H 8.00 I 1.00 J 1.00 1 K 4.00 4 L 4.00 M 16.00 N 18.00 O 5.00 P 3.50 14 Q 3.00 I dette tilfellet er altså beste reiserute "A" - "J" - "N" - "K - "N" - "F" - "P" - "Q" og den minste prisen for denne turen er (0*1 + 1*1 + 4*4 + 3.50*14) kroner = 589 kroner.