KONTINUASJONSEKSAMEN

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

KONTINUASJONSEKSAMEN

KONTINUASJONSEKSAMEN

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

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:

EKSAMEN. Algoritmiske metoder I KLASSE: 97HINDA / 97HINDB ( 2DA / 2DB )

Høgskolen i Gjøvik. Avdeling for elektro- og allmennfag E K S A M E N. EKSAMENSDATO: 12. desember 1995 TID:

KONTINUASJONSEKSAMEN

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

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. 04HBIND* / 04HBINFA / div. andre

KONTINUASJONSEKSAMEN

Grunnleggende datakunnskap og programmering. EKSAMENSDATO: 16. desember 1997

K O N T I N U A S J O N S E K S A M E N

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

KONTINUASJONSEKSAMEN

GJØVIK INGENIØRHØGSKOLE

UNIVERSITETET I OSLO

Høgskolen i Gjøvik E K S A M E N. FAGLÆRER: Frode Haug KLASSE: 1 AA / AE

KONTINUASJONSEKSAMEN

Kontinuasjonseksamen

UNIVERSITETET I OSLO

E K S A M E N. Grunnleggende programmering 03HBIND*, 03HBINFA, 03HBINE*, 03HBMETEA, 03HBMEMAA, 03HBGEOA

Grunnleggende datakunnskap, programmering og datastrukturer 97HINDA / 97HINDB / 97HDMUA

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

E K S A M E N. Grunnleggende datakunnskap og programmering 02HIND*, 02HINE*, 02HDMU*, 02HING*, 02HGEOMAA, 02HSIV5

KONTINUASJONSEKSAMEN

Ny/utsatt EKSAMEN. Dato: 5. januar 2018 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: 8. august 1995 TID:

UNIVERSITETET I OSLO

E K S A M E N 96HINDA / 96HINDE (1 AA / AE)

Algoritmer og Datastrukturer

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

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. Grunnleggende programmering

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

Løsningsforslag til INF110 h2001

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.

UNIVERSITETET I OSLO

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

E K S A M E N. Grunnleggende datakunnskap og programmering. EKSAMENSDATO: 7. desember HINDA / 00HINDB / 00HINEA 00HDMUA / 00HDMUB / 00HINGA

Kontinuasjonseksamen

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

København 20 Stockholm

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. NB! Det er ikke tillatt å levere inn kladd sammen med besvarelsen

E K S A M E N. Grunnleggende datakunnskap og programmering 99HINDA / 99HINDB / 99HINEA 99HDMUA / 99HDMUB / 99HINGA

GJØVIK INGENIØRHØGSKOLE

EKSAMEN. Flexibel ingeniørutdanning, 2kl. Bygg m.fl.

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

Løsningsforslag. Oppgave 1.1. Oppgave 1.2

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

E K S A M E N. - Kontroller at alle oppgavearkene er tilstede. - Les hele oppgaveteksten nøye, før du begynner å besvare noe som helst.

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

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN

UNIVERSITETET I OSLO

Kontinuasjonseksamen

KONTINUASJONSEKSAMEN

UNIVERSITETET I OSLO

Kontinuasjonseksamen

UNIVERSITETET I OSLO

Oppgave 1. Sekvenser (20%)

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

Eksamen. Grunnleggende programmering. EKSAMENSDATO: 6.desember 2016 TID: 16:00 20:00. (kalkulator er ikke tillatt)

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Kontinuasjonseksamen

E K S A M E N. Grunnleggende datakunnskap og programmering. EKSAMENSDATO: 5. desember HIND*, 01HINE*, 01HDMU*, 01HING* TID:

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamen. Objekt-orientert programmering KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA 02HSIV5 02HGEOMAA

UNIVERSITETET I OSLO

EKSAMEN. Flexibel ingeniørutdanning, 2kl. Bygg.

UNIVERSITETET I OSLO

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Kontinuasjonseksamen

EKSAMEN. Fordypning i digital arbeidsflyt. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

Algoritmer og datastrukturer Eksamen 22. februar 2011

UNIVERSITETET I OSLO

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

EKSAMEN 07HBINEA, 07HBINET, 07HBINDA, 07HBINDT

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

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

KONTINUASJONSEKSAMEN

INF1020 Algoritmer og datastrukturer GRAFER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

ALGORITMER OG DATASTRUKTURER

INF2220: Forelesning 2

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

EKSAMEN med løsningsforslag

EKSAMEN. TILLATTE HJELPEMIDLER: Kalkulator. Hornæs: Formelsamling statistikk HiG. John Haugan: Formler og tabeller.

EKSAMEN. EMNEANSVARLIG: Terje Bokalrud og Hans Petter Hornæs. TILLATTE HJELPEMIDLER: Kalkulator og alle trykte og skrevne hjelpemidler.

EKSAMEN. TILLATTE HJELPEMIDLER: Kalkulator. Hornæs: Formelsamling statistikk HiG. John Haugan: Formler og tabeller.

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

Definisjon av binært søketre

IN Algoritmer og datastrukturer

Algoritmer og Datastrukturer IAI 21899

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Algoritmer og Datastrukturer

Transkript:

Høgskolen i Gjøvik Avdeling for elektro- og allmennfag KONTINUASJONSEKSAMEN FAGNAVN: Algoritmiske metoder ( vekttall) Algoritmiske metoder I (3 vekttall) FAGNUMMER: LO 164 A ( vektall) L 171 A (3 vekttall) EKSAMENSDATO: Mandag 4. februar 1997 KLASSE: xxhinda / xxhinde TID: 09.00-14.00 FAGLÆRER: Frode Haug ANT. SIDER UTLEVERT: TILLATTE HJELPEMIDLER: 5 (inkludert denne forside) Alle trykte og skrevne. - Kontroller at alle oppgavearkene er tilstede. - INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag. Pass på at du ikke skriver på mer enn ett innføringsark om gangen (da det blir uleselige gjennomslag om flere ark ligger oppå hverandre når du skriver). - Ved innlevering skilles hvit og gul besvarelse og legges i hvert sitt omslag. Oppgavetekst, kladd og blå kopi beholder kandidaten. - Ikke skriv noe av din besvarelse på oppgavearkene. - Husk kandidatnummer på alle ark (ikke oppgavearkene).

NB: Dette eksamenssettet er laget felles for både de som tar (siste gang forelest høsten 1995) og 3 (nytt kurs høsten 1996) vektalls eksamen i algoritmiske metoder (I). Husk derfor på: 1. Skriv på første arket i besvarelsen OG på omslaget hvilken eksamen du går opp til ( eller 3 vekttall).. Legg godt merke til hvilke oppgaver du skal besvare. vekttall: Oppgave 1.1,, 3 og 4. 3 vekttall: Oppgave 1.,, 3 og 4. Oppgave 1.1 (teori, 5 %) NB: Løses kun av de som tar vekttalls-eksamen. Denne oppgaven inneholder fire uavhengige oppgaver fra kap. 3, 4, 19 og 31 i læreboka. a) Koden øverst s.8 i læreboka leser og omgjør et infix-uttrykk til et postfix-uttrykk. Vi har infix-uttrykket: ( (7 + 11) * ( ( ( 8 * ) * (3 + 7) ) + (3 * ( 4 + ) ) ) ) Hva blir dette skrevet på en postfix måte? Tegn opp innholdet på stakken etter hvert som koden leser tegn i infix-uttrykket. b) Tegn opp parse-treet for uttrykket: ( ( A * B) * (C + D) ) + (E * ( F + G ) ) ) (Hint: Figur 4.4 s.41 i læreboka.) c) Vi har søkestrengen "HØGSKOLEKANDIDATSTUDIET". Mønsteret vi skal søke med er "DIE". Bokstavene som totalt kan forekomme i søkestrengen er tegnene A-Å. - Angi skip-arrayen for dette tilfellet. - Tegn opp hvordan mønsteret forflyttes bortover i søkestrengen når søkealgoritmen s.88 i læreboka utføres. Dvs. lag en figur etter samme prinsipp som fig.19.7 s.87 i læreboka. d) Følgende vektede (ikke-rettede) graf er gitt: A B 1 1 F D 1 C E Hver nodes naboer er representert i en naboliste. Alle listene er sortert alfabetisk. Tegn opp minimums spenntreet for denne grafen, etter at koden s.455 i læreboka er utført (der "priority" er lik "t->w"). Tegn også opp innholdet i prioritetskøen etterhvert som konstruksjonen av minimums spenntreet pågår (jfr. fig.31.4 i læreboka). NB: Husk at ved lik prioritet så vil noden sist oppdatert (nyinnlagt eller endret) havne først i køen.

Oppgave 1. (teori, 5 %) NB: Løses kun av de som tar 3 vekttalls-eksamen. Denne oppgaven inneholder tre uavhengige oppgaver fra kap., 30 og 3 i læreboka. a) Vis konstruksjonsprosessen når bokas metode for Huffman-koding (s.34-330) brukes på teksten «INTERNET ER INTERNT ANARKISTISK» (inkludert de blanke). Hvor mange bits trengs for å kode denne teksten? Dvs. skriv/tegn opp: - tabellen for bokstavfrekvensen (jfr. fig..3). - tabellen for «dad»en (jfr. fig..6). - Huffmans kodingstreet/-trien (jfr. fig..5 og koden øverst s.38). - bokstavenes bitmønster, med «code» og «len» (jfr. fig..7 og koden øverst s.39). - totalt antall bits som brukes for å kode teksten. b) Følgende kanter i en (ikke-retted, ikke-vekted) graf er gitt: AC BF AE CH HJ BH DI FH AI EG FI CD EI Vi skal nå utføre union-find på denne grafen. Tegn opp arrayen «dad»s innhold etterhvert som skogen bygges opp (jfr. fig.30.6) vha. «find»-funksjonen s.444 i læreboka. Ut fra dette: tegn også opp den resulterende union-find skogen (jfr. nedre høyre skog i fig.30.5). c) Følgende rettede asykliske (ikke-vektede) graf («dag») er gitt: A B C D E F G H I Angi EN topologisk sorteringssekvens. Oppgave (teori, 5 %) Denne oppgaven inneholder tre uavhengige oppgaver fra kap. 15, 11 og 9 i læreboka. a) Legg teksten «I N T E R N E T U H Y R E T» (i denne rekkefølge fra venstre til høyre, blanke regnes ikke med) inn i et -3-4 tre. Tegn opp treet etterhvert som bokstavene legges inn (prøv å få alt inn på ett A4-ark). Gjør også om slutt-resultatet til et Red-Black tre. 3

b) Teksten «I N T E R N E T U H Y R E T» (i denne rekkefølge fra venstre til høyre, blanke regnes ikke med) skal heap-sorteres vha. bottom-up heap konstruksjon. (Se fig.11.8, koden s.156 og fig.11.9 i læreboka.) Tegn opp heapens innhold etterhvert som heapen konstrueres og deretter sorteres etter denne metoden (Dvs. lag en figur etter samme prinsipp som fig.11.9.) c) Vi har følgende (ikke-vektede, ikke-rettede og ikke-sammenhengende) graf: G A E C H F B D Tegn dybde-først søketreet for dette tilfellet (ved bruk av nabomatrise), når "Search" (s.44) og "Visit" (s.47) fungerer som angitt i læreboka. Oppgave 3 (koding, 30%) 4 Vi har følgende deklarasjon: struct element { int id; element* next; }; Vi har en liste som er bygd opp av slike elementer. (Hvordan denne er initiert og hektet sammen trenger ikke du å tenke på.) Listen har ingen hode eller hale, og det siste elementets next-peker refererer til NULL. Hele listen tilpekes av den globale variabelen «start». I denne oppgaven skal du lage fire ulike REKURSIVE funksjoner som bl.a. tar en peker til en liste som input, og som deretter utfører følgende operasjoner: a) Skriver listens innhold ut baklengs: void skriv_baklengs(element* liste); Kalles første gang ved: skriv_baklengs(start); b) Sletter listen bakfra: void slett_bakfra(element* & liste); Kalles første gang ved: slett_bakfra(start); For å bl.a. ivareta at den globale variabelen «start» får verdien NULL etter at funksjonkallet er ferdig utført, så blir parameteren «liste» referansesoverført. NB: Husk at listens elementer er opprettet vha. «new». c) Kopierer listen: element* kopier_liste(element* liste); Kalles første gang ved: kopi = kopier_liste(start); Der «kopi» er deklarert som: element* kopi; d) Inverterer/snur listen: void snu_liste(element* & rot, element* liste, element* forrige); Kalles første gang ved: snu_liste(start, start, NULL); For å ivareta at den globale variabelen «start» får verdien til orginal-listens siste element etter at funksjonkallet er ferdig utført, så blir parameteren «rot» referansesoverført. For å kunne snu «next»-pekerne, så er også parametrene «liste» og «forrige» brukt: «Liste» peker til resten av lista, mens «forrige» peker til listens forrige element.

Oppgave 4 (koding, 0 %) Vi har følgende deklarasjoner: struct element { int id; element * forrige, * neste; }; element* toveisliste, * rot, * z; Vi har en toveis-liste som er bygd opp av slike elementer. (Hvordan denne er initiert og hektet sammen trenger ikke du å tenke på.) Listen har ingen hode eller hale. Det siste elementets neste-peker og det første elementets forrige-peker refererer til z-noden. (Z-noden er som i boka, der dens forrige- og neste-peker refererer til z selv.) Hele listen tilpekes initielt av den globale variabelen «toveisliste». I denne oppgaven skal du lage EN rekursiv funksjon som sørger for at en slik liste gjøres om til et mest mulig balansert binært tre. Funksjonen kalles ved: rot = lag_binaert_tre(toveisliste); Tegn også opp hvordan treet blir seende ut dersom den intielle listen består av elementer med id ene: a) 1,, 3, 4 og 5 b) 1,, 3, 4, 5, 6, 7, 8, 9 og 10 Hint: Funksjonen bør lete seg fram til midten av lista den får som input og la dette elementet bli roten i et (sub)tre. (Består lista av et partall antall elementer, så tas det første elementet etter midten som rot.) Deretter tilkaller den seg selv rekursivt for hver av de to listene på hver side av seg selv, for å få på plass sine to subtrær/«barn». NB: Husk at disse subtrærne ikke tilpekes av «left» og «right», men av «forrige» og «neste». Husk også på å la relevante pekere referere til z-noden etterhvert. Lykke til!! Og god vinterferie?? FrodeH 5