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

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

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

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

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

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

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

EKSAMEN. Algoritmer og datastrukturer

EKSAMEN med løsningsforslag

EKSAMEN Løsningsforslag. med forbehold om bugs :-)

EKSAMEN. Emne: Algoritmer og datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer

Algoritmer og Datastrukturer

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

Oppgave 1. Sekvenser (20%)

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer

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

Binær heap. En heap er et komplett binært tre:

Heap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock

EKSAMEN. Bildebehandling og mønstergjenkjenning

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

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

Obligatorisk oppgave 1 INF1020 h2005

Høgskoleni østfold EKSAMEN

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer

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

UNIVERSITETET I OSLO

København 20 Stockholm

Algoritmer og Datastrukturer

Løsningsforslag. Oppgave 1.1. Oppgave 1.2

INF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved

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

EKSAMEN. Oppgavesettet består av 16 oppgaver. Ved sensur vil alle oppgaver telle like mye med unntak av oppgave 6 som teller som to oppgaver.

EKSAMEN ITF Webprogrammering 1 Dato: Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

UNIVERSITETET I OSLO

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

Oppgave 1. Oppgave 2. Høgskolen i Østfold Avdeling for informasjonsteknologi

Algoritmer og datastrukturer Eksamen

Løsningsforslag EKSAMEN

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

G høgskolen i oslo. Emne: Algoritmer og datastrukturer. Emnekode: 80131A. Faglig veileder: UlfUttersrud. Gruppe(r) : Dato:

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

Algoritmer og datastrukturer Løsningsforslag

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Høgskoleni østfold EKSAMEN. Emne: Innføring i programmering

Binære søketrær. En ordnet datastruktur med raske oppslag. Sigmund Hansen

Innledning. IN2010/INF Algoritmer og datastrukturer. Tirsdag 27. november 2018 Kl (4 timer)

Eksamen iin115 og IN110, 15. mai 1997 Side 2 Oppgave 1 Trær 55 % Vi skal i denne oppgaven se på en form for søkestrukturer som er spesielt godt egnet

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Hvorfor sortering og søking? Søking og sortering. Binære søketrær. Ordnet innsetting forbereder for mer effektiv søking og sortering INF1010 INF1010

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

Høgskoleni østfold EKSAMEN. ITF10213 Innføring i programmering (Høst 2013)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Løsningsforslag til INF110 h2001

Høgskoleni østfold EKSAMEN

EKSAMEN (Konvertert fra en gammel PHPeksamen)

Grunnleggende Datastrukturer

INF1010 notat: Binærsøking og quicksort

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Algoritmer og datastrukturer Eksamen

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

Lenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

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

Liste som abstrakt konsept/datatype

Datastrukturer. Algoritmer og datastrukturer. Øvingsforelesning 2

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer Eksamenstid: kl til kl. 1300

UNIVERSITETET I OSLO

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

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

KONTINUASJONSEKSAMEN I FAG ALGORITMER OG DATASTRUKTURER

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN

INF1020 Algoritmer og datastrukturer

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

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Hashing: Håndtering av kollisjoner

Stack. En enkel, lineær datastruktur

Prøve- EKSAMEN med løsningsforslag

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Definisjon av binært søketre

Eksamen i tdt4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

Transkript:

Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består av 6 sider, inkludert denne forsiden. Kontrollér at oppgaven er komplett før du begynner å besvare spørsmålene. Oppgavesettet består av 4 oppgaver med i alt 15 deloppgaver. Innen hver oppgave vektes alle deloppgaver likt. Les oppgavetekstene nøye før du begynner på besvarelsen. Legg vekt på å skrive en ryddig og lett forståelig besvarelse. Sensurfrist: 27. januar 2017 Karakterene er tilgjengelige for studenter på studentweb senest 2 virkedager etter oppgitt sensurfrist. www.hiof.no/studentweb Side 1 av 6

Oppgave 1: Algoritmeanalyse (25%) I deloppgavene a) e) nedenfor er det gitt i alt fem metoder. Gjør følgende for hver metode: Beskriv kort hva metoden utfører og evt. hva slags verdi den returnerer når den kjøres. Angi metodens arbeidsmengde med O-notasjon. Gi en kort begrunnelse for svaret. a) int metode_a(int A[], int x) int antall = 0, n = A.length; for (int i = 0; i < n; i++) if (A[i] == x) antall++; return antall; b) Her skal du angi virkemåte og arbeidsmengde når parameteren i har verdien null (0): int metode_b(int A[], int x, int i) int n = A.length; if (i < n) if (A[i] == x) return 1 + metode_b(a, x, i+1); return metode_b(a, x, i+1); else return 0; c) Merk at metoden her kaller metode_b fra forrige deloppgave: boolean metode_c(int A[], int x) int antall = metode_b(a, x, 0); return antall == 0? false : true; (Oppgave 1 fortsetter på neste side) Side 2 av 6

d) void metode_d(int A[]) int tmp, n = A.length; for (int i = 0; i < n; i++) for (int j = n 1; j > i; j ) if (A[j] < A[j 1]) tmp = A[j]; A[j] = A[j 1]; A[j 1] = tmp; e) Merk at metoden her kaller metode_d fra forrige deloppgave: boolean metode_e(int A[], int x) int n = A.length; int min = 0, max = n 1, mid = 0; metode_d(a); while (max >= min) mid = (min + max) / 2; if (A[mid] == x) return true; if (x < A[mid]) max = mid 1; else min = mid + 1; return false; f) De to metodene som er angitt i deloppgave c) og deloppgave e) ovenfor, løser det samme problemet. De er begge lite effektive, spesielt gjelder dette for metode_e. Foreslå en enkel algoritme kan brukes til å løse det samme problemet mer effektivt. Det er tilstrekkelig at du bare angir navnet/betegnelsen på algoritmen. (Slutt på oppgave 1) Side 3 av 6

Oppgave 2: Kø (20%) Denne oppgaven dreier seg om vanlige (First-In-First-Out) køer. a) En kø implementeres med bruk av en array, slik at det første elementet i køen alltid ligger lagret på indeks 0 (null) i arrayen. Det andre elementet i køen ligger lagret på indeks 1, det tredje elementet på indeks 2 osv. Hva er da arbeidsmengden, utrykt med O-notasjon, for de to operasjonene enqueue og dequeue? Gi en kort begrunnelse for svaret ditt. b) En kø implementeres med bruk av en array, slik at det siste elementet i køen alltid ligger lagret på indeks 0 (null) i arrayen. Det nest siste elementet i køen ligger lagret på indeks 1, elementet foran det neste siste på indeks 2 osv. Hva er da arbeidsmengden, utrykt med O-notasjon, for de to operasjonene enqueue og dequeue? Gi en kort begrunnelse for svaret ditt. c) Hvorfor brukes vanligvis ikke de to implementasjonene av kø som er beskrevet i deloppgavene a) og b) ovenfor? Beskriv kort to alternative implementasjoner av kø som begge er mer effektive. (Slutt på på oppgave 2) Side 4 av 6

Oppgave 3: Datastrukturer (30%) a) Beskriv kort fordeler og ulemper med følgende datastrukturer når det gjelder søking, innsetting og fjerning av data: 1. Lenket liste 2. Hashtabell 3. Binært søketre 4. Array b) En hashtabell med hashlengde 11 skal brukes til å lagre heltall. Tabellen er i utgangspunktet tom. Følgende hashfunksjon brukes: hash(x) = x % 10 Det brukes åpen adressering med lineær probing ved kollisjon. Vis hvordan hashtabellen ser ut etter innsetting av følgende verdier i denne rekkefølgen: 6, 5, 28, 17, 18, 115, 16, 7, 71, 60 c) I et komplett binært tre med 20 noder der roten er definert til å være på nivå 0, hvor mange noder er det på nivå 4? (Slutt på opppgave 3) Side 5 av 6

Oppgave 4: Grafer (25%) Følgende graf er gitt: a) Hvor lang er den korteste veien fra node v1 til node v16? Hvilke noder ligger langs denne korteste veien? b) Sett opp en oversiktlig tabell som viser stegene som gjøres i Dijkstra's algoritme for denne grafen med start i node v1, frem til vi har funnet korteste vei til node v16. Hver rad i tabellen skal vise tilstanden etter en iterasjon og skal angi: Hvilke noder som vi kjenner garantert korteste vei til, og hvor lang denne veien er. Hvilke andre noder som er oppsøkt og som vi kjenner en mulig korteste vei til, og hvor lang denne veien er. Hvilke noder som ennå ikke er oppsøkt. c) Anta at figur 1 er et representativt utsnitt av en mye større graf som består av 20000 noder. Hvordan ville du lagret dataene om denne store grafen? Begrunn svaret. (Slutt på opppgave 4) Side 6 av 6