Backtracking som løsningsmetode

Størrelse: px
Begynne med side:

Download "Backtracking som løsningsmetode"

Transkript

1 Backtracking

2 Backtracking som løsningsmetode Backtracking brukes til å løse problemer der løsningene kan beskrives som en sekvens med steg eller valg Kan enten finne én løsning eller alle løsninger Bygger opp løsningen ett steg om gangen Prøver for hver steg som er gjort alle mulige steg videre Hvis vi ser at et steg ikke kan lede til en løsning (avskjæring), tar vi et steg tilbake (backtracking) og prøver i stedet neste mulige steg

3 Backtracking og effektivitet Rå kraft (brute force) algoritmer: Genererer alle mulige sekvenser av steg som kan være en løsning For hver av de mulige løsningene: Sjekk om den er korrekt løsning Ressurskrevende, ubrukelig for større problemer Algoritmer med backtracking: Er ofte basert på en rå kraft algoritme Stopper oppbyggingen av en mulig løsning når vi ser at den ikke kan være korrekt Effektiviteten avhenger av hvor smart/tidlig vi gjør denne avskjæringen av løsninger

4 Backtracking og rekursjon Backtrackingsalgoritmer er av natur rekursive: Vi tar et og et steg mot en fullstendig løsning I hvert steg løser vi det samme problemet Problemstørrelsen reduseres for hvert steg Bunnen i rekursjonen: Vi har bygget opp en komplett løsning og det er ikke flere steg igjen å ta

5 Problemeksempler Typiske problemer som kan løses rekursivt med bruk av backtracking: Finne en 'korrekt' rekkefølge: Dronningproblemet Fargelegging av kart Fordeling av ressurser iht. behov/ønsker Labyrinter, kryssord, sudoku, brettspill Rutevalg: Finne beste vei gjennom et nettverk

6 Enkelt eksempel: En labyrint Kvadratisk rutenett der noen ruter er blokkerte Starter i øvre venstre hjørne, prøver å finne vei til nedre venstre hjørne Fire muligheter i hvert steg: Høyre, ned, venstre, opp Avskjæring: Går ikke ut av labyrinten Går ikke til blokkerte ruter Går ikke til ruter som er besøkt tidligere

7 Datastruktur for labyrinten Før algoritmen for å finne en vei starter: Bruker en todimensjonal, globalt tilgjengelig tabell med heltall, med verdiene 1 (fri) og 0 (stengt) Spør bruker om størrelse på labyrinten og prosentandelen blokkerte ruter Trekker tilfeldig hvilke ruter som skal være blokkert, slik at prosentandelen blir omtrent riktig Mens algoritmen utføres: Markerer oppsøkte ruter med verdien 2 i tabellen Tar vare på veien, ved at ruter som ligger på funnet vei markeres med verdien 3 i tabellen

8 Rekursiv implementasjon Merker etterhvert av besøkte ruter i global tabell Bunn i rekursjonen når vi kommer til nedre høyre hjørne Fire rekursive kall med flytt til hver av naborutene (høyre, ned, venstre opp) hvis: Naboruten finnes, er fri og ikke tidligere besøkt Stopper rekursjonen med en gang en vei er funnet Merker rutene på evt. funnet vei når rekursjonen trekker seg tilbake Java-kode

9 Oblig. 2: Springerproblemet Springer: 2 frem, 1 til siden Starter med en springer i en gitt posisjon på et n x n brett Problem: Finne en måte å flytte springeren rundt på sjakkbrettet, slik at den er innom hver rute en og bare en gang en springertur Finnes ikke alltid løsning, avhenger av startposisjon og størrelsen på brettet

10 Springerproblemet og backtracking Problemet kan løses på en tilsvarende måte som for labyrinten: Bruk en global tabell til å lagre hvilke ruter som er oppsøkt (og et par andre globale variable som holder rede på hvor langt vi har gått og flyttene som er gjort) Må merke en rute som ubrukt igjen når vi backtracker Prøv alle 8 steg videre fra hver posisjon Ikke gå utenfor brettet, ikke oppsøk samme rute flere ganger Problemet er løst etter n² steg (alle ruter besøk) Bruk gjerne Java-koden for labyrinten som utgangspunkt for løsningen

11 Litt kombinatorikk Kombinatorikk: Systematiske metoder og formler for å telle opp antall mulige måter som vi kan gjennomføre steg-for-steg prosesser på Eksempler: Antall mulige utfall av en LOTTO-trekning På hvor mange forskjellige måter kan vi få f.eks. en flush utdelt i poker? Hvor mange forskjellige oppstillinger av n dronninger kan vi lage på et n x n sjakkbrett? Kjennskap til et par grunnleggende formler fra kombinatorikken er nødvendig for å kunne forstå kompleksiteten i en del backtrackingproblemer

12 Multiplikasjonsprinsippet En prosess består av å gjøre n (del)valg i rekkefølge I hvert delvalg har vi ki ulike alternativer, i = 1, 2,, n Hele prosessen kan da utføres på: k 1 k 2 k 3 k n-1 k n ulike måter

13 Mult.prinsippet: Et eksempel Velge antrekk (bukse og genser) n = 2 delvalg k1 = 3 bukser k2 = 2 gensere Totalt: k 1 k 2 = 3 2 = 6 mulige ulike antrekk

14 Et eksempel til: Svenske bilskilt Vanlige svenske registreringsnumre for biler består av tre bokstaver og tre siffer (0 9) Bokstavene Q, V, Å, Ä, Ö brukes ikke, 24 bokstaver kan velges for bilskilt Det er 91 tre-bokstavskombinasjoner som er forbudt å bruke (så svenskene skal slippe å kjøre rundt med SPY, K*K o.l. på bilene sine :-)

15 Antall mulige ulike svenske bilskilt n = 6 delvalg Tre valg for hver av de tre bokstavene, 24 ulike muligheter i hvert valg: k 1 = k 2 = k 3 = 24 Tre valg for hvert av de tre sifferne, 10 ulike muligheter i hvert valg: k 4 = k 5 = k 6 = 10 Totalt: ( ) = ulike vanlige svenske bilskilt som kan lages

16 Permutasjoner Har n objekter som alle er ulike Objektene skal stilles opp i en eller annen rekkefølge (ikke nødvendigvis sortert) Det å bestemme en rekkefølge kan sees på som å nummerere objektene fra 1 til n En slik nummerering av n objekter kalles for en permutasjon av objektene Å endre rekkefølger kalles å permutere (eller å stokke om, bytte om) I mange backtrackingsproblemer vil løsningen være en permutasjon som oppfyller visse krav

17 Permutasjoner, noen eksempler Alle 6 permutasjoner av 123: Alle 24 permutasjoner av ABCD: ABCD ABDC ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA

18 Antall mulige permutasjoner Kan bruke multiplikasjonsprinsippet til å regne ut antall mulige ulike permutasjoner av n objekter En permutering er en prosess med n delvalg: Velg nr 1: n muligheter Velg nr 2:... n - 1 muligheter Velg nr n - 1: 2 muligheter Velg nr n: 1 mulighet Total antall mulige permutasjoner av n objekter: n (n - 1) (n - 2) = n! (n-fakultet)

19 Antall permutasjoner vokser raskt 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = ! = ! = ! = ! = ! = ! = ! = ! = ! = ! = ! = ! = ! =

20 Program for å lage og skrive ut alle permutasjoner av tallene 1, 2,, n Lagrer alle permutasjoner som genereres, i en global heltallsarray p av lengde n Permutasjonene bygges opp systematisk og rekursivt, ved at vi etter tur setter alle tallene inn som nummer en, deretter som nummer 2 osv. Tar vare på hvilke av tallene 1, 2,.., n som allerede er brukt i en permutasjon, i en global boolsk array brukt, slik at vi ikke setter inn samme tall to ganger

21 Rekursiv algoritme Posisjonen index i arrayen p er parameter i rekursjonen: Hvis index == n Ferdig, skriv ut permutasjon, returnér For i = 1, 2,, n Hvis!brukt(i) brukt[i] = true p[index] = i Lag alle perm. f.o.m. posisjon index+1 brukt[i] = false Se Java koden

22 Dronningproblemet 8 (n) dronninger skal plasseres på et 8 x 8 (n x n) sjakkbrett, slik at ingen av dem kan slå/nå hverandre En dronning kan beveges fra ruten den står på, i begge retninger horisontalt, vertikalt og langs de to diagonalene

23 To løsninger for n = 8

24 Antall løsninger for voksende n n n

25 Løsning av dronningsproblemet Kan betraktes som et steg-for-steg problem I hvert steg setter vi ut én dronning Tidsforbruket for en algoritme som løser dronningproblemet avhenger av: Størrelsen på sjakkbrettet, n Hvor tidlig vi avskjærer utbyggingen av en løsning, dvs. tar vekk sist utplasserte dronning og går tilbake til den forrige

26 Rå kraft -løsning, versjon 0.1 Prøv med alle mulige ledige ruter i hvert steg Test om hver mulig utplassering av n dronninger er en løsning Antall løsninger som må lages og testes for n = 8 (multiplikasjonsprinsippet): = For generell n: n 2 (n 2-1) (n 2-2) (n 2 -n+2) (n 2 -n+1) Ubrukelig for n > 5 (sjekk testprogram)

27 Rå kraft - løsning, versjon 0.2 Ikke sett dronninger på samme rad For hver rad: Prøv alle rutene Test om hver mulig utplassering av n dronninger er en løsning Antall løsninger som må lages og testes for n = 8 (multiplikasjonsprinsippet): = 8 8 = For generell n: n n Ubrukelig for n > 8 (sjekk testprogram)

28 Litt smartere løsning Ikke sett dronninger i samme rad eller kolonne En løsning blir da en permutasjon av 1, 2,, n {4, 7, 3, 8, 2, 5, 1, 6} Antall løsninger som må lages og testes for n = 8: = 8! = For generell n: n! Får alvorlige problemer for n > 11 (sjekk testprogram)

29 Enda smartere løsning Bruk programmet for å lage permutasjoner til å bygge opp løsningen rad for rad: Permutasjonene som genereres representerer en løsning som er under utbygging Vil automatisk unngå dronninger i samme rad/kolonne For hver dronning som settes ut i en rad: Sjekk om noen av dronningene som allerede er satt ut ovenfor kan slå denne langs de to diagonalene I så fall: Gå videre til neste ledige kolonne i raden Trenger bare å utvide permutasjonsprogrammet med en funksjon som sjekker de to diagonalene bakover

30 Backtracking og rekursjon frem til første løsning for n = 8 Se Java-koden

Backtracking som løsningsmetode

Backtracking som løsningsmetode Backtracking Backtracking som løsningsmetode Backtracking løser problemer der løsningene kan beskrives som en sekvens med steg eller valg Kan enten finne én løsning eller alle løsninger Bygger opp løsningen(e)

Detaljer

Backtracking: Kombinatorikk og permutasjoner

Backtracking: Kombinatorikk og permutasjoner Backtracking: Kombinatorikk og permutasjoner Litt kombinatorikk Kombinatorikk: Metoder og formler for å telle opp antall mulige måter som vi kan gjennomføre steg-for-steg prosesser på Eksempler: Hvor mange

Detaljer

Kapittel 3: Kombinatorikk

Kapittel 3: Kombinatorikk Kapittel 3: Kombinatorikk Kombinatorikk handler om å telle opp antall muligheter i ulike situasjoner (for eksempel telle opp antall gunstige og antall mulige i forbindelse med sannsynlighetsberegninger).

Detaljer

Kapittel 3: Kombinatorikk

Kapittel 3: Kombinatorikk Kapittel 3: Kombinatorikk Kombinatorikk handler om å telle opp antall muligheter i ulike situasjoner (for eksempel telle opp antall gunstige og antall mulige i forbindelse med sannsynlighetsberegninger.

Detaljer

Forelesning 6, kapittel 3. : 3.6: Kombinatorikk.

Forelesning 6, kapittel 3. : 3.6: Kombinatorikk. Forelesning 6, kapittel 3. : 3.6: Kombinatorikk. Kombinatorikk betyr her: Formler for opptelling av antall kombinasjoner. Generelt er denne grenen av matematikk videre, og omfatter blant annet grafteori.

Detaljer

En algoritme for permutasjonsgenerering

En algoritme for permutasjonsgenerering Innledning La oss tenke oss at vi har en grunnskole-klasse på 25 elever der enkelte av elever er uvenner med hverandre. Hvis uvenner sitter nær hverandre blir det bråk og slåssing. Er det mulig å plassere

Detaljer

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Stack Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi ta ut et element, tar

Detaljer

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Stack Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi ta ut et element, tar

Detaljer

N-dronningproblemet Obligatorisk oppgave 1 I120, H-2000

N-dronningproblemet Obligatorisk oppgave 1 I120, H-2000 N-dronningproblemet Obligatorisk oppgave 1 I120, H-2000 Innleveringsfrist : Mandag, 2. Oktober, kl.10:00 Besvarelsen legges i arkivskapet på UA i skuff merket I120 Innhold: utskrift av godt dokumentert

Detaljer

Sannsynlighetsregning

Sannsynlighetsregning Kapittel 3: Sannsynlighetsregning Definisjoner: Noen grunnleggende begrep. Stokastisk forsøk: Et forsøk/eksperiment der det er tilfeldig hva utfallet blir. Utfallsrom, S: Mengden av alle mulige utfall

Detaljer

Grunnleggende Grafalgoritmer II

Grunnleggende Grafalgoritmer II Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først

Detaljer

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

Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke? Søking Søkeproblemet Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke? Effektiviteten til søkealgoritmer avhenger av: Om datastrukturen

Detaljer

Datastrukturer for rask søking

Datastrukturer for rask søking Søking Søkeproblemet Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke? Effektiviteten til søkealgoritmer avhenger av: Om datastrukturen

Detaljer

PG 4200 Algoritmer og datastrukturer Innlevering 1. Frist: 2.februar kl 21.00

PG 4200 Algoritmer og datastrukturer Innlevering 1. Frist: 2.februar kl 21.00 PG 4200 Algoritmer og datastrukturer Innlevering 1 Frist: 2.februar kl 21.00 Utdelt materiale: Alle filer som nevnes er inneholdt i zip-filen innlevering1.zip. Innlevering: Besvarelsen skal være i form

Detaljer

IN1010 V18, Obligatorisk oppgave 5

IN1010 V18, Obligatorisk oppgave 5 IN1010 V18, Obligatorisk oppgave 5 Innleveringsfrist: Tirsdag 17.04. kl 10:00 Versjon 1.3 (12.04.2018) Sist modifisert av Silje Merethe Dahl. Innledning I denne oppgaven skal du bruke rekursjon til å lage

Detaljer

Obligatorisk oppgave 5: Labyrint

Obligatorisk oppgave 5: Labyrint Obligatorisk oppgave 5: Labyrint INF1010 Frist: mandag 24. april 2017 kl. 12:00 Versjon 1.0 (1709ba6 ) Innhold 1 Innledning 2 2 Notasjon og terminologi 3 2.1 Formelle definisjoner.........................

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2015 Obligatorisk oppgave 9, 10 og 11 SUDOKU Versjon 26. mars. Ved behov for presiseringer i del 10 og 11, kan det komme ny versjon 16. april, men ingen endringer i selve oppgaven. Denne obligatoriske

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte

Detaljer

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre:

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre: Sortering Sorteringsproblemet Gitt en array A med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene i A slik at de står i stigende (evt. avtagende) rekkefølge

Detaljer

INF1010. Sekvensgenerering Alle mulige sekvenser av lengde tre av tallene 0, 1 og 2: Sekvensgenerering. Generalisering. n n n! INF1010 INF1010 INF1010

INF1010. Sekvensgenerering Alle mulige sekvenser av lengde tre av tallene 0, 1 og 2: Sekvensgenerering. Generalisering. n n n! INF1010 INF1010 INF1010 Sekvensgenerering Alle mulige sekvenser av lengde tre av tallene, og : Kombinatorisk søking Generering av permutasjoner Lett: Sekvensgenerering Vanskelig: Alle tallene må være forskjellige Eksempel: Finne

Detaljer

Hvor raskt klarer vi å sortere?

Hvor raskt klarer vi å sortere? Sortering Sorteringsproblemet Gitt en array med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene slik at de står i stigende (evt. avtagende) rekkefølge

Detaljer

Stack. En enkel, lineær datastruktur

Stack. En enkel, lineær datastruktur Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi

Detaljer

INF2220: Forelesning 7. Kombinatorisk søking

INF2220: Forelesning 7. Kombinatorisk søking INF2220: Forelesning 7 Kombinatorisk søking Oversikt Rekursjon - oppsummering Generering av permutasjoner Lett: Sekvens-generering Vanskelig: Alle tallene må være forskjellige Eksempel: Finne korteste

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN 110 Algoritmer og datastrukturer Eksamensdag: 14. mai 1996 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet IN2010: Forelesning 11 Kombinatorisk søking Beregnbarhet og kompleksitet KOMBINATORISK SØKING Oversikt Generering av permutasjoner Lett: Sekvens-generering Vanskelig: Alle tallene må være forskjellige

Detaljer

ITF20006 Algoritmer og datastrukturer Oppgavesett 7

ITF20006 Algoritmer og datastrukturer Oppgavesett 7 ITF Algoritmer og datastrukturer Oppgavesett 7 Av Thomas Gabrielsen Eksamen Oppgave. ) Det tar konstant tid å hente et gitt element fra en tabell uavhengig av dens størrelse, noe som med O-notasjon kan

Detaljer

PG 4200 Algoritmer og datastrukturer Innlevering 2

PG 4200 Algoritmer og datastrukturer Innlevering 2 PG 4200 Algoritmer og datastrukturer Innlevering 2 Frist: Mandag 21.april 2014 kl 23.55 Utdelt materiale: Se zip-filen innlevering2.zip. Innlevering: Lever en zip-fil som inneholder følgende: PG4200_innlevering_2.pdf:

Detaljer

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 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 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 14. mai 1998 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

A 1 B 1 D 1 H 1 H 2 D 2 B 2 E 1 E 2 I 1 I 2...

A 1 B 1 D 1 H 1 H 2 D 2 B 2 E 1 E 2 I 1 I 2... UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 19. mai 1999 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 9 sider. Vedlegg:

Detaljer

Definisjon av binært søketre

Definisjon av binært søketre Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Definisjon: Et sortert tre

Definisjon: Et sortert tre Binære søketrær Definisjon: Et sortert tre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2016 Innleveringsoppgave 8 SUDOKU Versjon 29. mars. Denne versjonen gjelder oppgave 8. Resten er tatt med bare for å gi en pekepinn om arbeidet videre. Det kommer andre krav til del 10 og 11 når

Detaljer

Om å lete gjennom «alle muligheter» Eller: Kombinatorisk søking, rekursjon og avskjæring 1 Innledning Problemer, instanser og løsningsalgoritmer

Om å lete gjennom «alle muligheter» Eller: Kombinatorisk søking, rekursjon og avskjæring 1 Innledning Problemer, instanser og løsningsalgoritmer Om å lete gjennom «alle muligheter» Eller: Kombinatorisk søking, rekursjon og avskjæring Notat til IN2010 Stein Krogdahl og Arne Maus Ifi, UiO, November 2018 1 Innledning Kurset IN2010 går i stor grad

Detaljer

INF1010 Rekursjon. Marit Nybakken 1. mars 2004

INF1010 Rekursjon. Marit Nybakken 1. mars 2004 INF1010 Rekursjon Marit Nybakken marnybak@ifi.uio.no 1. mars 2004 Å lære rekursjon gjøres ved å prøve å gjøre en masse oppgaver selv til man får en aha-opplevelse. Marit prøver likevel å forklare littegranne.

Detaljer

Binære trær: Noen algoritmer og anvendelser

Binære trær: Noen algoritmer og anvendelser Binære trær: Noen algoritmer og anvendelser Algoritmer / anvendelser: Søking i usortert binært tre Telling av antall noder og nivåer i treet Traversering av binære trær Binære uttrykkstrær Kunstig intelligens(?):

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under

Detaljer

Vi skal se på grafalgoritmer for:

Vi skal se på grafalgoritmer for: Grafalgoritmer Vi skal se på grafalgoritmer for: Traversering: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte Nåbarhet: Finnes det en vei fra en node til en annen node?

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 20102 Høgskolen i Østfold Avdeling for informatikk og automatisering Lødag 5. juni 2004, kl. 09.00-13.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Et eksempel: Åtterspillet

Et eksempel: Åtterspillet Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende

Detaljer

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

LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105) Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 Faglig kontakt under eksamen: Magnus Lie Hetland LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER

Detaljer

København 20 Stockholm

København 20 Stockholm UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

OPPGAVER for IMT2021 - Algoritmiske metoder Høsten 2015 Høgskolen i Gjøvik

OPPGAVER for IMT2021 - Algoritmiske metoder Høsten 2015 Høgskolen i Gjøvik OPPGAVER for IMT2021 - Algoritmiske metoder Høsten 2015 Høgskolen i Gjøvik Forord Dette kompendie/hefte innholder oppgaveteksten for ulike ukeoppgaver i emnet Algoritmiske metoder ved Høgskolen i Gjøvik.

Detaljer

Vi skal se på grafalgoritmer for:

Vi skal se på grafalgoritmer for: Grafalgoritmer Vi skal se på grafalgoritmer for: raversering: Nåbarhet: Oppsøk alle nodene i grafen en og bare en gang, på en eller annen systematisk måte innes det en vei fra en node til en annen node?

Detaljer

SIF8010 ALGORITMER OG DATASTRUKTURER

SIF8010 ALGORITMER OG DATASTRUKTURER SIF8010 ALGORITMER OG DATASTRUKTURER KONTINUASJONSEKSAMEN, 1999; LØSNINGSFORSLAG Oppgave 1 (12%) Anta at du skal lage et støtteprogram som umiddelbart skal varsle om at et ord blir skrevet feil under inntasting

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

Detaljer

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

Endret litt som ukeoppgave i INF1010 våren 2004

Endret litt som ukeoppgave i INF1010 våren 2004 Endret litt som ukeoppgave i INF1010 våren 2004!!!" # # $# ##!!%# # &##!'! Kontroller at oppgavesettet er komplett før du begynner å besvare det. Les gjerne gjennom hele oppgavesettet før du begynner med

Detaljer

Rekursjon. Binærsøk. Hanois tårn.

Rekursjon. Binærsøk. Hanois tårn. Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til

Detaljer

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3 Delkapittel 1.3 Ordnede tabeller Side 1 av 70 Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3 1.3 Ordnede tabeller 1.3.1 Permutasjoner En samling verdier kan settes opp i en rekkefølge. Hver

Detaljer

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

E K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID: Høgskolen i Gjøvik Avdeling for Teknologi E K S A M E N FAGNAVN: FAGNUMMER: Algoritmiske metoder I L 189 A EKSAMENSDATO: 11. desember 2001 KLASSE: 00HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID: 09.00-14.00

Detaljer

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl PXT: Himmelfall Skrevet av: Helene Isnes og Julie Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Matematikk Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

EKSAMEN. Emne: Algoritmer og datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer 1 EKSAMEN Emnekode: ITF20006 000 Dato: 19. mai 2010 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Faglærer: Gunnar Misund Oppgavesettet

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2016 Innleveringsoppgave 10 SUDOKU Versjon 14. april. Denne versjonen gjelder oppgave 10. Resten er tatt med bare for å se sammenhengen. Det kan komme andre/flere krav til del 11 når denne publiseres.

Detaljer

Logaritmiske sorteringsalgoritmer

Logaritmiske sorteringsalgoritmer Logaritmiske sorteringsalgoritmer Logaritmisk sortering Rekursive og splitt og hersk metoder: Deler verdiene i arrayen i to (helst) omtrent like store deler i henhold til et eller annet delingskriterium

Detaljer

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000 Drosjesentralen I-120: Obligatorisk oppgave 2, 2000 Frist Mandag 20. November 2000 kl.10:00, i skuff merket I120 på UA. Krav Se seksjon 4 for kravene til innlevering. Merk krav om generisk løsning for

Detaljer

INF1010 notat: Binærsøking og quicksort

INF1010 notat: Binærsøking og quicksort INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.

Detaljer

Anvendelser av grafer

Anvendelser av grafer Grafer Anvendelser av grafer Passer for modeller/datastrukturer med usystematiske forbindelser Ikke-lineære og ikke-hierarkiske koblinger mellom dataobjektene Modellering av nettverk: Veisystemer/rutekart

Detaljer

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

Løsnings forslag i java In115, Våren 1996 Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

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

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består

Detaljer

INF1010 Sortering. Marit Nybakken 1. mars 2004

INF1010 Sortering. Marit Nybakken 1. mars 2004 INF1010 Sortering Marit Nybakken marnybak@ifi.uio.no 1. mars 2004 Dette dokumentet skal tas med en klype salt og forfatter sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

Detaljer

Grunnleggende Grafteori

Grunnleggende Grafteori Grunnleggende Grafteori 2. September, 2019 Institutt for Informatikk 1 Dagens plan Terminologi og definisjoner Hvordan representere grafer i datamaskinen Traversering Dybde-først-søk Bredde-først-søk Topologisk

Detaljer

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

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 Hvorfor sortering og søking? Man bør ha orden i dataene umulig å leve uten i informasjonssamfunnet vi blir fort lei av å lete poleksempel internett alt er søking og sortering alternativer til sortering

Detaljer

BOKMÅL Side 1 av 6. EKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Fredag 6. juni 2008 Kl

BOKMÅL Side 1 av 6. EKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Fredag 6. juni 2008 Kl BOKMÅL Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15

Detaljer

IN1000 Obligatorisk innlevering 7

IN1000 Obligatorisk innlevering 7 IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en

Detaljer

Obligatorisk oppgave 1 INF1020 h2005

Obligatorisk oppgave 1 INF1020 h2005 Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte

Detaljer

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

E K S A M E N. EKSAMENSDATO: 15. desember 1994 TID: Kladd og oppgavearkene leveres sammen med besvarelsen. Kladd merkes med KLADD. E K S A M E N FAGNAVN: FAGNUMMER: Algoritmiske metoder LO 164 A EKSAMENSDATO: 15. desember 1994 TID: 09.00-14.00 FAGLÆRER: Frode Haug KLASSE: 2AA/AE ANTALL SIDER UTLEVERT: TILLATTE HJELPEMIDLER: 5 (inkludert

Detaljer

Anvendelser av grafer

Anvendelser av grafer Grafer Anvendelser av grafer Brukes for datasett med ikke-lineære og ikkehierarkiske forbindelser mellom dataobjektene Forbindelsene i en graf er ofte usystematiske Typisk anvendelser er modellering av

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF2220 Algoritmer og datastrukturer Eksamensdag: 16. desember 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider.

Detaljer

"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009

behrozm Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009 Rekursiv programmering BTeksempel Datastruktur I klassen Persontre (rotperson==) Rekursjon Noen oppgaver/problemer er rekursive «av natur» Eksempel på en rekursiv definisjon Fakultetsfunksjonen

Detaljer

Disjunkte mengder ADT

Disjunkte mengder ADT Binære relasjoner A A = {(x, y) x, y A}: mengden av ordnede par over A. Disjunkte mengder ADT Weiss kap. 8.1 8.5 Løser ekvivalensproblemet Lett og rask implementasjon Vanskelig tidsforbrukanalyse Ark 1

Detaljer

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes PXT: Det regner mat! Skrevet av: Helene Isnes Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad. Tre på rad Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon På tide

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Quicksort. Fra idé til algoritme.

Quicksort. Fra idé til algoritme. Quicksort Fra idé til algoritme. Quicksortalgoritme algoritmeidé 1. Del arrayen i to deler, slik at alle elementer i den ene delen er mindre enn alle elementer i den andre delen. Q U I C K S O R T A L

Detaljer

Fig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.)

Fig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.) Oblig3 i INF2440 våren 2015-ver3. Den konvekse innhyllinga til en punktmengde - et rekursivt geometrisk problem. Innleveringsfrist fredag 27. mars kl. 23.59 En punktmengde P i planet består av n forskjellige

Detaljer

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

Uke 5 Disjunkte mengder

Uke 5 Disjunkte mengder Uke 5 Disjunkte mengder MAW, kap.. 8 September 19, 2005 Page 1 Hittil Forutsetninger for og essensen i faget Metodekall, rekursjon, permutasjoner Analyse av algoritmer Introduksjon til ADT er Den første

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016 Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Dagens tema. Sortering. Fortsettelse om programmering vha tråder.

Dagens tema. Sortering. Fortsettelse om programmering vha tråder. Dagens tema Sortering. Fortsettelse om programmering vha tråder. «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til sortering og søking binære

Detaljer

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk INF0: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk Mathias Lohne mathialo Rekursjonseksempel Eksempel Finn kjøretid for følgende program: (Ex11 b) 1 float foo(a) { n = Alength; 3 4 if

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveksamen i INF1010 Objektorientert programmering Dato: 26. mai 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider.

Detaljer

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator Litt mer om løkker Arrayer le Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i slo Java Repetisjon: operatorene ++ og -- Instruksjon i = i + i = i - Alternativ Prefiks-operator

Detaljer

Rekursjon som programmeringsteknikk

Rekursjon som programmeringsteknikk Rekursjon Kap.7 Sist oppdatert 15.02.10 Rekursjon som programmeringsteknikk 10-1 Rekursiv tenkning Rekursjon er en programmeringsteknikk der en metode kan kalle seg selv for å løse problemet. En rekursiv

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 20102 Høgskolen i Østfold Avdeling for informatikk og automatisering Lødag 5. juni 2004, kl. 09.00-13.00 LØSNINGSFORSLAG 1 Del 1 60% Oppgave 1.1-10% Forklar kort

Detaljer

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

Binær heap. En heap er et komplett binært tre: Heap Binær heap En heap er et komplett binært tre: Alle nivåene i treet, unntatt (muligens) det nederste, er alltid helt fylt opp med noder Alle noder på nederste nivå ligger så langt til venstre som mulig

Detaljer

Løsningsforslag til 3. oblogatoriske oppgave i Diskret Matematikk. Høsten 2018

Løsningsforslag til 3. oblogatoriske oppgave i Diskret Matematikk. Høsten 2018 Løsningsforslag til 3. oblogatoriske oppgave i Diskret Matematikk Oppgave 1. ( 9 3 ) = 9 8 7 3 2 1 = 3 4 7 = 84 Høsten 2018 {1, 5, 9}, {1, 6, 8}, {2, 4, 9}, { 2, 5, 8}, {2, 6, 7}, {3, 4, 8}, {3, 5, 7},

Detaljer

Programmering Høst 2017

Programmering Høst 2017 Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer