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

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

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

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

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

Algoritmer og Datastrukturer

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

EKSAMEN. Emne: Algoritmer og datastrukturer

Algoritmer og Datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer

EKSAMEN med løsningsforslag

Algoritmer og Datastrukturer

Oppgave 1. Sekvenser (20%)

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

Algoritmer og Datastrukturer

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

Algoritmer og Datastrukturer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN

Løsningsforslag EKSAMEN

UNIVERSITETET I OSLO

EKSAMEN. Bildebehandling og mønstergjenkjenning

UNIVERSITETET I OSLO

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

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

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 Eksamen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

København 20 Stockholm

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN

Definisjon: Et sortert tre

Obligatorisk oppgave 1 INF1020 h2005

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

Løsningsforslag til INF110 h2001

UNIVERSITETET I OSLO

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Definisjon av binært søketre

UNIVERSITETET I OSLO

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

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

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

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

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

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

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

Vanlige datastrukturer. I dette lysarksettet

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

Høgskoleni Østfold. Ny/utsatt EKSAMEN

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN. Hjelpem idler: Faglærer: Kåre Sorteberg Ingen hjelpemidler. Monica Kristiansen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN. Objektorientert programmering

Binære trær: Noen algoritmer og anvendelser

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

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

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

Algoritmer og Datastrukturer

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

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

Emnekode: I-Dato: I ~ Antall oppgaver: I I Aiie -sk:i=rftlige - bme trykte og håndskrevne, samt alle typer

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

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

Algoritmer og Datastrukturer IAI 21899

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

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

Datastrukturer for rask søking

Eksamensoppgaver 2014

Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke?

TDT4100 Objektorientert programmering

Algoritmer og datastrukturer Eksamen

UNIVERSITETET I OSLO

Algoritmer og datastrukturer Eksamen

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

UNIVERSITETET I OSLO

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

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:

E K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID:

ALGORITMER OG DATASTRUKTURER

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

E K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 99HINDB / 99HINEA / 00HDESY ( 2DA / 2DB / 2EA / DESY )

Norges Informasjonsteknologiske Høgskole

UNIVERSITETET I OSLO

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

Algoritmer og datastrukturer Eksamen 22. februar 2011

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

Transkript:

Høgskoleni Østfold EKSAMEN Emnekode: Emnenavn: ITF20006 Algoritmer og datastrukturer Dato: Eksamenstid: 9. mai 2016 9.00 13.00 Hjelpemidler: Faglærer: Alle trykte og skrevne Jan Høiberg Om eksamensoppgaven og poengberegning: Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene. Oppgavesettet består av 4 oppgaver med i alt 16 deloppgaver. Innen hver av de 4 oppgavene vektes alle deloppgaver likt. En av deloppgavene har 5 nummererte underpunkter som også vektes likt. Les hver oppgave nøye før du begynner på besvarelsen. Programkode i besvarelsen skal skrives i Java. Legg vekt på å skrive ryddig og lett forståelig kode. Sensurfrist: 30. mai 2016 Karakterene er tilgjengelige for studenter på Studentweb senest 2 virkedager etter oppgitt sensurfrist. www.hiof.no/studentweb

Oppgave 1: Algoritmeanalyse (25%) For hver metode i deloppgavene a) f) nedenfor avhenger arbeidsmengden av parameteren n, som er et positivt heltall. Gjør følgende for hver metode: Angi metodens arbeidsmengde med 0-notasjon. Gi en kort begrunnelse for svaret. Beskriv kort hva metoden beregner og returnerer. a) long metode_a(int n) long f = 1; for (int i = 1; i <= n; i++) f *= return f; b) long metode_b(int n) if (n < 2) return 1; return n * metode_b(n - 1); c) int metode_c(int n) long metode_d(int n) int i = n, 1 = 0; while (i > 0) 1++; i /= 10; return 1; long s = 0; for (int i = 0; i for (int j = 0; s++; return s; n; i++) < n; j++) e) int metode_e(int m, int n) if (n == 1) return m; return (m + metode_e(m, n - 1)); long metode_f(int n) if (n <= 2) return 1; return metode_f(n - 1) + metode_f(n - 2); (Slutt på på oppgave Side 2 av 7

Oppgave 2: Stack, ko og liste (20%) Forklar kort hvorledes en stack kan implementeres med en enkel-lenket liste slik at operasjonene på stacken er 0(1), dvs, at effektiviteten av innsetting og filerning av data ikke avhenger av hvor mange elementer som er lagret. Tegn enkle figurer som viser hvorledes operasjonene push og pop implementeres med lenket liste. Forklar kort hvorledes en ko kan implementeres med en enkel-lenket liste slik at operasjonene på køen er 0(1). Tegn enkle figurer som viser hvorledes operasjonene enqueue og dequeue implementeres med lenket liste. (Slua på på oppgave 2) Eksamen i Algoritmerog datastrukturer,9. mai 2016 Side 3 av 7

Oppgave 3: Sortering, datastrukturer og effektivitet (25%) I programmering brukes ofte betegnelsen "black box" om programvare der bare grensesnittet/ funksjonaliteten er kjent, mens selve "innmaten"/implementasjonen ikke er tilgjengelig. I denne oppgaven skal du skrive et lite program som bruker en slik "black box". Følgende Java-klasse, som implementerer en datastruktur for å la re heltall, er gitt: public class blackbox public blackbox(int n) // Konstruktør som oppretter en black box som kan // lagre opp til n heltall public void insert(int value) // Metode for å sette inn et nytt heltall i en // black box public int removemin() // Metode for å fjerne minste heltall fra en black box // Returnerer verdien som fjernes Symbolet brukes ovenfor til å angi at selve koden som implementerer klassen og metodene ikke er tilgjengelig. I programmet du skal skrive nedenfor, kan du anta at du har full tilgang til å kunne bruke metodene i klassen blackbox. a) Programmft følgende metode: void blackboxsort(int a[]) Metoden blackboxsort skal sortere arrayen a, ved å bruke de tre metodene som er angitt for klassen blackbox ovenfor. Metodene insertog removemin skal begge kalles nøyaktig like mange ganger som det er elementer i arrayen a. (Opppgave 3fortsetter på neste side) Side 4 av 7

Effektiviteten til metoden blackboxsort vil avhenge av hvor effektivt klassen blackbox implementerer innsetting og f:jerning av verdier i datastrukturen. b) Anta at arrayen som skal sorteres inneholder n elementer. Angi arbeidsmengden for metoden blackboxsort, uttrykt med 0-notasjon, når klassen blackbox er implementert som: Usortert array Usortert lenket liste Vanlig binært søketre (ikke selvbalanserende) Heap B-tre av orden 4 For hvert av tilfellene 1 5 ovenfor skal det gis en kort begrunnelse for svaret. c) Kan klassen blackbox implementeres effektivt som en hashtabell? Begrunn svaret. (Slutt på opppgave 3) Side 5 av 7

Oppgave 4: Binære søketrær (30%) I denne oppgaven brukes det et binært søketre som lagrer data om personer. For hver person skal det lagres: Etternavn (en tekststreng) Fornavn (en tekststreng) Alder (et heltall) Søketreet er alfabetisk sortert på etternavn. For personer med samme etternavn, ligger fornavn og alder for hver person lagret i en sortert, lenket liste, sortert alfabetisk på fornavn. Det er én slik liste for hver node i treet. En tegning som viser et eksempel på denne datastrukturen er gitt i figur 1 på neste side. Nodene i søketreet skal være av klassen trenode. Nodene i lenkede lister skal være av klassen listenode. Skriv Java-kode for de to klassene trenode og listenode, slik at de bare inneholder variablene som trengs for å lagre datastrukturen beskrevet ovenfor. Skriv en konstruktør for klassen listenode som setter fornavn og alder til gitte verdier. Andre variable i klassen skal også få fornuftig(e) verdi(er). Skriv en konstruktør for klassen trenode som har som parameter fornavn, etternavn og alder til en person. Konstruktøren skal bruke metoden du skrev i forrige deloppgave. Skriv en rekursiv metode: void skrivpersoner(trenode rot) som skriver ut en linje med data for hver person som er lagret i treet med rot i noden rot. En linje med utskrift kan se slik ut: Høiberg, Jan (42) Utskriften skal være sortert på etternavn. Personer med samme etternavn skal skrives ut sortert på fornavn. Skriv en rekursiv metode: boolean finnes(trenode rot, String fornavn, String etternavn) som returnerer true hvis det finnes en person lagret i treet med rot i noden rot, som har fornavn lik verdien av parameteren fornavn og etternavn lik verdien av parameteren etternavn. Hvis denne personen ikke finnes, skal metoden returnere false. Metoden f innes skal være så effektiv som mulig. (Slutt på opppgave 4) Side 6 av 7

Lars en Arne 33 Kari 21 Ola 16 Otto 63 Hansen Olsen Anne 21 Per 45 Erik 63 Andersen Nilsen Pettersen Ben111 Tore 25 Kristin 31 Wrily 44 Age 53 Eriksen Bård 12 Gerd 20 Lars 14 Randi 16 Figur