To geometriske algoritmer, kap. 8.6

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "To geometriske algoritmer, kap. 8.6"

Transkript

1 INF 4130, 18. november 2010 To geometriske algoritmer, kap. 8.6 Computational Geometry Stein Krogdahl Hovedkapittelet t (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk : Splitt problemet opp i mindre problemer. Løs hvert av de mindre problemene (kanskje rekursivt ved ytterligere oppdelinger?) Finn løsningen på det store problemet ved å bruke løsningene vi fant på de mindre problemene Vi skal se påto geometriske problemer som greit kan p g p g løses på denne måten. 1

2 Geometriske algoritmer Computational Geometry Feltet dreier seg om algoritmer som løser problemer i det vanlige 2- eller 3-dimensjonale (eller n-dimensjonale) rom Vi skal her bare ha 2 dimensjoner. Bruksområder: Mønstergjenkjening Datagrafikk Grafiske informasjonssystemer GIS CAD/CAM (DAK/DAP) Robotikk VLSI-design Statistikk Eksempler vi skal se på: Gitt en mengde punkter i planet: Finn convex hull = Konveks innhylling (se neste foil) Finn det par av punkter som har minst avstand 2

3 Convex hull Kunne oversettes til det konvekse hull Men det er ikke et sånt hull! av en punktmengde. 3

4 Det er et sånt hull = skrog Vi kaller det derfor her den konvekse k innhylling 4

5 Konveks innhylling La P være en mengde punkter i et k-dimensjonalt rom, P R k. (Vi skal for enkelthets skyld bare se på k = 2.) Definisjon En mengde Q R k er konveks dersom: for alle punkter q 1, q 2 Q linjesegmentet q 1 q 2 ligger i Q. Definisjon Den konvekse innhyllingen til en mengde punkter P R k er den minste konvekse mengde Q som inneholder punktene i P. 5

6 Utgangspunkt: En punktmengde i planet 6

7 Konveks innhylling av en punktmengden Bokas intuisjon: Punktene er spiker, og vi legger en strikk rundt 7

8 Svaret skal komme som punkter (x,y) i rekkefølge rundt polygonet, Startpunkt t og retning kan variere 8

9 Én måte å lage den konveks innhyllingen på: Kalles Jarvis March Idé: Snurr en hyssing stegvis rundt punktene Start f.eks. med punktet med minst x-verdi (er alltid på den konveksek innhyllingen!?). 9

10 Første skritt Sving tråden mot høyre, og stopp ved første berøring med et punkt Dette er neste punkt på innhyllingen 10

11 Videre: Snurr så videre, alltid rundt siste punkt man fant, til man berører et nytt punkt. Må i hvert steg finne det punktet som det er minst svingvinkel til. Tar tid O(n) med rett fram algoritme 11

12 Neste steg: 12

13 Og neste: 13

14 Og neste: 14

15 Og neste: 15

16 Avslutning: Når man finner startpunktet som neste punkt 16

17 Og altså: Den konvekse innhylling: Og Jarvis march har marsjert ferdig Har i to dimensjoner worst case tid: O(n 2 ) I d dimensjoner er w-c-tiden: O(n( floor(d/2)+1) ) 17

18 En annen metode for å finne konveks k innhylling. Denne bruker splitt og hersk -teknikken Deler først punktene opp i to like store (modulo odde tall) mengder vha. vertikale linjer 18

19 Første oppdeling Deler mengden i to ved x-medianen (kan finnes i lineær tid, men ikke viktig) Gjentar dette for hver mengde helt til vi får 1, 2 eller 3 punkter i hver av mengdene. 19

20 Konveks innhylling D l di d i j i t d di Deler disse mengdene igjen i to ved x-median, helt til vi får 2 eller 3 punkter i mengdene. 20

21 Tredybder 2 Ferdig oppdeling Dybden i oppdelingen blir ikke større enn log 2 n 21

22 Løser det dypeste nivået Lett: Finner innhyllinger for 2 eller 3 punkter 22

23 Kobler sammen igjen Kobler sammen to og to innhyllinger etter trestrukturen nedenfra Metoden for dette kommer om et øyeblikk! 23

24 Fram til siste sammenkobling: Disse bør nå kobles sammen slik som angitt Hvordan finne disse broene?? 24

25 q 3 q 5 Sammenslåing av to konvekse innhyllinger: Hvordan finne øvre bro? q 4 p 1 q 2 q 1 q 7 q 6 Vet at alle x i i den ene er mindre enn alle x j i den andre. Antar at venstre innhylling er nummerert mot klokka og at den høyre er nummerert med klokka La p1 være lengst til høyre (langs x-aksen) i sin innhylling, og q1 lengst til venstre i sin. 25

26 q 3 q 5 Hvordan starte sammensetningen av to? q 4 q 2 p 1 q 1 q 7 q 6 Vi kommer til å starte med den røde kanten, men vi må kunne avgjøre om en sekvens av tre punkter svinger mot høyre eller mot venstre? 26

27 Lite mellomspill: Hvordan kan vi finne retningsforandringen i punktet P 2 = (x 2, y 2 ) for punktsekvensen: P 1 =(x 1,y 1 ) -> P 2 =(x 2,y 2 ) -> P 3 =(x 3,y 3 ) p 3 = (x 3, y 3 ) p 3 = (x 3, y 3 ) p 3 = (x 3, y 3 ) p 2 = (x 2, y 2 ) p 2 = (x 2, y 2 ) p 2 = (x 2, y 2 ) p 1 = (x 1, y 1 ) p 1 = (x 1, y 1 ) p 1 = (x 1, y 1 ) Venstresving Rett fram Høyresving x 1 y 1 x y x 2 3 y x 1 y 1 x y x 2 3 y x 1 y 1 x y x 2 3 y Dette er såkalte determinanter 27 Bergningen fremgår av neste foil

28 Hvordan beregne determinanten for 3x3-matriser? Gitt matrisen A: a b c A d e f g h i det( A) e a h f i d b g f i d c g e h Et morsomt skjema for å beregne 3x3-determinanter: aei afh bdi bfg cdh ceg Siden c, f og i er lik 1 i vårt tilfelle blir dette: = ae ah bd + bg + dh eg 28

29 Hvordan starte sammensetningen av to? q 4 q 3 q 5 q 2 p 1 q 6 q 1 q 7 Altså p 1 er lengst til høyre i sin innhylling, og q 1 lengst til venstre i sin, og vi bruker linjen (p 1, q 1 ) som utgangspunkt Når vi skal finne øvre bro går vi med nummereringen i begge polygoner Starter med å flytte på en side der p 1 -q 1 -q 2 svinger til venstre eller q 1 -p 1 -p 2 svinger til høyre. Gjelder her begge! 29

30 q 3 q 5 Vi får da denne situasjonen q 4 q 2 p 1 q 1 q 7 q 6 Fortsetter alltid å teste svingretning på den samme siden Her svinger p1 q2 q3 fremdeles til venstre Derfor, vi går ett hakk til på den samme siden 30

31 q 3 q 5 Og kommer til denne situasjonen q 4 q 2 p 1 q 1 q 7 q 6 Men nå svinger p1 q3 q4 mot høyre Dermed flytter vi oss til andre siden 31

32 Tester svingretning på q3 - p1- p2 p 5 p 4 p 3 q 4 p 2 q 3 q5 q 2 p 6 p 1 q 1 q 7 q 6 Denne går gal vei, så vi må flytte ett hakk opp på p-siden siden. 32

33 q 3 q 5 Så vi får denne situasjonen p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Og ny testing på p-siden viser at vi må fortsette her 33

34 q 3 q 5 Til denne situasjonen p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Men nå er svingretningen riktig på p-siden Vi skifter tilbake til q-siden 34

35 q 3 q 5 Må da sjekke vinklen på høyre side p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Denne er gal, så vi går ett hakk videre her 35

36 q 3 q 5 Konveks innhylling p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Riktig vinkel på høyre side, MEN 36

37 q 3 q 5 Konveks innhylling p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 feil vinkel på venstre side. Må gå videre opp på den siden 37

38 q 3 q 5 Får situasjonen p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 38

39 q 3 q 5 Avslutning av øvre bro p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Vi sjekker her først svingretningen på venstre side (der vi var) og den er nå riktig. Må så sjekke om det er mer igjen på høyre side, men også her er svingretningen nå riktig Når nå begge er riktige har vi funnet øvre bro! 39

40 q 3 q 5 Finner nedre bro på tilsvarende måte: p 5 p 4 p 3 q 4 p 2 q 2 p 6 p 1 q 1 q 7 q 6 Må nå finne de punktene som skal kastes. Det er de vi var innom men ikke brukte under søket på broene. Resten må så om-nummereres så vi får en sammenhengende nummerering rundt det nye polygonet. 40

41 Oppsummering: Algoritme for konveks innhylling Vi sorterer nodene etter x-koordinat. Dette tar tid O(n log 2 n) Hver gang vi spleiser to innhyllinger må vi potensielt flytte endepunktene på broen(e) O(n) ganger, så hver spleis tar tid O(n) Vi gjør opplagt log 2 n oppdelinger, siden vi hele tiden deler vår opprinnelig mengde av n noder i to, så det er log 2 n spleiser. Total kjøretid O(n log 2 n). Denne kjøretiden er faktisk optimal, siden vi kan bruke denne omhyllingsalgoritmen til å sortere, og det kan ikke 41 gjøres fortere enn O(n log 2 n)

42 Sortering vha. omhyllings-algoritmen SORTING CONVEX HULL T=<t 1, t 2,, t n > P={(t 2 )(t 2 2 1, t 12 ),(t 2, t 22 ),, (t n, t n2 )} (usorterte heltall) (en punktmengde) Å sortere n tall kan altså gjøres med Følgende rutine som benytter en CONVEX HULL-algoritmen som subrutine: SORTING(T){ < Lag punktmengden P ut fra T, som beskrevet over > O(n) H = CONVEX_HULL(P) /* Finner innhyllingen H */ O(n log 2 n) < Finn nederste punkt i H (lavest y-koordinat) > O(n) < Les av x-koordinaten til punktene i retning mot klokka > O(n) } O(n log 2 n) Altså: Kunne vi løst CONVEX HULL raskere enn O(n log 2 n), kunne vi også sortert n tall raskere enn O(n log 2 n), som vi vet er umulig.) 42

43 Neste problem: Finn det par av noder som har minst avstand Gitt en mengde punkter i k-dimensjonalt rom, P R k. Vi ønsker vi å finne det par av punkter som har kortest innbyrdes avstand. Vi skal igjen bare se på k = 2. Dette kan vi opplagt gjøre i tid O(n 2 ) ved å se på alle par, men vi skal lage en mer effektiv algoritme basert på divide-and-conquer. 43

44 Nærmeste par av punkter Deler i to ved x-median, helt til vi får 2 eller 3 punkter i mengdene, Altså akkurat som ved omhylling, Finner i hver av disse små mengdene det punktparet med korteste avstand. Tar tid O(n) 44

45 Så ved siste spleising: d 1 d 2 45

46 Hva er situasjonen? d 1 d 2 Ikk ikk k d f d Ikke sikkert korteste avstand fra en av mengdene er kortest i den spleisede mengden. 46

47 Klarer oss med å se nær skjøten! d d d = min{d 1,d 2 } d 1 d 2 Må fi i d b l lik Må finne nærmeste par i dette beltet og sammenlikne med d 1 og d 2. 47

48 Punktene ligger ikke så tett d d d = min{d 1,d 2 } 2d I en slik firkant (2d x 2d stor), kan det maksimalt ligge 12 punkter siden avstanden mellom dem før spleisen var minst d. 48

49 Hovedtrikset d d d = min{d 1,d 2 } d 1 2d d 2 For hver node på venstre side er det altså maksimalt 6 noder på høyre side det må sjekkes mot. Vi går gjennom alle nodene i venstre siden av beltet nedenfra og opp, Det er da bare seks punkter på høyresiden det må t49 sjekkes mot (går raskt fordi det er sortert på y-verdier)

50 Oppsummering: Algoritme for nærmeste par av punkter: Vi sorterer nodene både etter x- og gy-koordinat. Dette tar tid O(n log 2 n). Spleise-steget t tar tid O(n) )(for hver node id den ene siden av skjøten er det bare et konstant (6) antall noder som må sjekkes på den andre siden. Ettersom nodene er sortert på både x- og y-koordinat er det greit å holde rede på hvilke noder det er snakk om. Vi gjør opplagt log 2 n oppdelinger, siden vi hele tiden deler vår opprinnelig mengde av n noder i to, så det er log 2 n spleiser. Altså: Total kjøretid O(n log 2 n). 50

kap. 8.6 Computational Geometry Hovedkapittelet (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk :

kap. 8.6 Computational Geometry Hovedkapittelet (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk : INF 4130, 17. november 2011 kap. 8.6 Computational Geometry Stein Krogdahl Hovedkapittelet (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk : Splitt problemet opp i mindre problemer.

Detaljer

INF Triangulering. Med sterk støtte fra Petter Kristiansen. Skal først se på et eksempel fra Google Earth

INF Triangulering. Med sterk støtte fra Petter Kristiansen. Skal først se på et eksempel fra Google Earth INF 4130 17. november 2011 Triangulering Stein Krogdahl Med sterk støtte fra Petter Kristiansen Skal først se på et eksempel fra Google Earth De bruker en underliggende triangulering av landskapet, men

Detaljer

Kompleksitetsteori reduksjoner

Kompleksitetsteori reduksjoner Kompleksitetsteori reduksjoner En slags liten oversikt, eller huskeliste, for kompleksitetsteorien i INF 4130. Ikke ment å være verken fullstendig eller detaljert, men kanskje egnet til å gi noen knagger

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

Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.2

Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.2 Delkapittel 2.2 Konvekse polygoner Side 1 av 7 Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.2 2.2 Konvekse polygoner 2.2.1 Konveksitet La p 0, p 1, p 2....., p n-1 være en samling på n punkter

Detaljer

Svarforslag til ukeoppgaver til INF 4130

Svarforslag til ukeoppgaver til INF 4130 Svarforslag til ukeoppgaver til INF 4130 15. november 2011 Oppgave 1: Løs 14.4 (hvori innbakt svaret på oppgave 14.5) Vi skal altså vise at Hungarian-algoritmen kan implementeres i tid O(n 3 ), der n er

Detaljer

INF2220: Time 12 - Sortering

INF2220: Time 12 - Sortering INF0: Time 1 - Sortering Mathias Lohne mathialo Noen algoritmer Vi skal nå se på noen konkrete sorteringsalgoritmer. Gjennomgående i alle eksempler vil vi sortere tall etter tallverdi, men som diskutert

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 2220 Algoritmer og datastrukturer Eksamensdag: 8. desember 2016 Tid for eksamen: 09:00 13:00 (4 timer) Oppgavesettet er på:

Detaljer

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Enkel alle-til-allealgoritme: Kjør Dijkstra (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Kan fungere for spinkle grafer blir dyrt ellers. Alle mot alle Åttende forelesning 1 Dijkstra

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 14. desember 2011 Eksamenstid 1500 1900 Sensurdato 14. januar Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

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

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf.

Detaljer

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

Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 41661982; Magnus Lie

Detaljer

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 50-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å

Detaljer

Live life and be merry

Live life and be merry Om grådighet og først litt mer DP. Live life and be merry Ellevte forelesning for tomorrow you may catch some disgusting skin disease. [Edmund Blackadder] 1 2 g i t k i s K o rt Grådighet All form for

Detaljer

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

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl Student nr.: Side 1 av 5 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og

Detaljer

Notater til INF2220 Eksamen

Notater til INF2220 Eksamen Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær

Detaljer

Søking i strenger. Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen

Søking i strenger. Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen Søking i strenger Vanlige søkealgoritmer (on-line-søk) Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen Indeksering av

Detaljer

LO118D Forelesning 2 (DM)

LO118D Forelesning 2 (DM) LO118D Forelesning 2 (DM) Kjøretidsanalyse, matematisk induksjon, rekursjon 22.08.2007 1 Kjøretidsanalyse 2 Matematisk induksjon 3 Rekursjon Kjøretidsanalyse Eksempel Finne antall kombinasjoner med minst

Detaljer

Dynamisk programmering Undervises av Stein Krogdahl

Dynamisk programmering Undervises av Stein Krogdahl Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning 5 1 / 55

Detaljer

Oversikt over det kinesiske restteoremet

Oversikt over det kinesiske restteoremet Oversikt over det kinesiske restteoremet Richard Williamson 3. desember 2014 Oppgave 1 Finn et heltall x slik at: (1) x 2 (mod 6); (2) x 3 (mod 11). Hvordan vet jeg at vi bør benytte det kinesiske restteoremet?

Detaljer

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 29. januar 2013 Stein Krogdahl, Ifi, UiO NB: Ikke undervisning fredag 1. februar! Oppgaver som gjennomgås 5. februar

Detaljer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE

Detaljer

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

Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl Student nr.: Side 1 av 5 Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle

Detaljer

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

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda Først litt praktisk info Sorteringsmetoder Gruppeøvinger har startet http://selje.idi.ntnu.no:1234/tdt4120/gru ppeoving.php De som ikke har fått gruppe må velge en av de 4 gruppende og sende mail til algdat@idi.ntnu.no

Detaljer

Turingmaskiner.

Turingmaskiner. Turingmaskiner http://www.youtube.com/watch?v=e3kelemwfhy http://www.youtube.com/watch?v=cyw2ewoo6c4 Søking i strenger Vanlige søkealgoritmer (on-line-søk) Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49

Detaljer

INF oktober Stein Krogdahl. Altså: Hva kan ikke gjøres raskt (med mindre P = NP)

INF oktober Stein Krogdahl. Altså: Hva kan ikke gjøres raskt (med mindre P = NP) INF 4130 22. oktober 2009 Stein Krogdahl Dagens tema: Mer om NP-kompletthet Altså: Hva kan ikke gjøres raskt (med mindre P = NP) Også her: Dette har blitt framstilt litt annerledes tidligere år Pensum

Detaljer

Divide-and-Conquer II

Divide-and-Conquer II Divide-and-Conquer II Lars Vidar Magnusson 1712014 Kapittel 4 Analyse av divide-and-conquer algoritmer ved hjelp av rekursjonstrær Analyse av divide-and-conquer algoritmer ved hjelp av masterteoremet Løse

Detaljer

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.

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. Side 1 av 5 Noen viktige punkter: (i) (ii) (iii) (iv) Les hele eksamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Skriv svarene dine i svarrutene

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens

Detaljer

INF 4130 / / Dagens foiler hovedsakelig laget av Petter Kristiansen Foreleser Stein Krogdahl Obliger:

INF 4130 / / Dagens foiler hovedsakelig laget av Petter Kristiansen Foreleser Stein Krogdahl Obliger: INF 4130 / 9135 29/8-2012 Dagens foiler hovedsakelig laget av Petter Kristiansen Foreleser Stein Krogdahl Obliger: Tre stykker, som må godkjennes. Frister: 21. sept, 26. okt, 16. nov Andre, «nærliggende»

Detaljer

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Tenk vann som sprer seg i rør: Vi behandler krysningspunktene i den rekkefølgen de fylles. Det må gi

Detaljer

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist)

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

Detaljer

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel ) INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde (ragnhilk@ifi.uio.no)

Detaljer

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding Grafer Dagens plan INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Avsluttende om grådige algoritmer (kap. 10.1.2) Dynamisk programmering Floyds algoritme

Detaljer

Stoff som i boka står i kap 4, men som er

Stoff som i boka står i kap 4, men som er INF5110 V2011 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 9. Februar 2011 Stein Krogdahl, Ifi, UiO Oppgaver som gjennomgås gå tirsdag 15/2: - Spørsmålene på de to siste foilene

Detaljer

Prioritetskøer. Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper

Prioritetskøer. Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper Prioritetskøer Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper Prioritetskøer er viktige i bla. operativsystemer (prosesstyring i multitaskingssystemer), og søkealgoritmer (A,

Detaljer

Oversikt over lineære kongruenser og lineære diofantiske ligninger

Oversikt over lineære kongruenser og lineære diofantiske ligninger Oversikt over lineære kongruenser og lineære diofantiske ligninger Richard Williamson 3. desember 2014 Oppgave 1 Finn et heltall x slik at 462x 27 (mod 195). Benytt først Euklids algoritme for å finne

Detaljer

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori. MAT030 Diskret Matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Grafteori 20. april 200 (Sist oppdatert: 200-04-20 4:8) MAT030 Diskret Matematikk 20. april 200

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 3. desember 2012 Eksamenstid 0900 1300 Sensurdato 3. januar 2013 Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.

Detaljer

MAT1030 Forelesning 23

MAT1030 Forelesning 23 MAT030 Forelesning 23 Grafteori Roger Antonsen - 22. april 2009 (Sist oppdatert: 2009-04-22 2:36) Forelesning 23 Repetisjon og mer motivasjon Først litt repetisjon En graf består av noder og kanter Kanter

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 20. april 2010 (Sist oppdatert: 2010-04-20 14:17) Grafteori MAT1030 Diskret Matematikk 20. april

Detaljer

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori. MAT030 Diskret Matematikk Forelesning 23: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 23 22. april 2009 (Sist oppdatert: 2009-04-22 2:37) MAT030 Diskret Matematikk

Detaljer

Matchinger i ikke-bipartite grafer

Matchinger i ikke-bipartite grafer Matchinger i ikke-bipartite grafer Stein Krogdahl, Notat til INF 3/4130 Sist revidert september 2006 Vi skal i dette notatet se på det å finne matchinger i generelle grafer, uten noe krav om at grafen

Detaljer

Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer

Prioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer Binære heaper (Leftist) Prioritetskøer Prioritetskøer er viktige i bla. operativsystemer (prosesstyring i multitaskingssystemer), og søkealgoritmer (A, A*, D*, etc.), og i simulering. Prioritetskøer Prioritetskøer

Detaljer

Algoritmer for Delaunay-triangulering

Algoritmer for Delaunay-triangulering Algoritmer for Delaunay-triangulering Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no September 21, 2009 Innhold Algoritmer 1 En enkel algoritme 2 Radial Sweep

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

Oppgaver MAT2500. Fredrik Meyer. 29. august 2014

Oppgaver MAT2500. Fredrik Meyer. 29. august 2014 Oppgaver MAT500 Fredrik Meyer 9. august 04 Oppgave. Bruk cosinus-setningen til å se at definisjonen av vinkel i planet blir riktig. Løsning. Dette er en litt rar oppgave. Husk at cosinus-setningen sier

Detaljer

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

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl Student nr.: Side 1 av 7 Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle kalkulatortyper

Detaljer

Divide-and-Conquer. Lars Vidar Magnusson 13.1.2015

Divide-and-Conquer. Lars Vidar Magnusson 13.1.2015 Divide-and-Conquer Lars Vidar Magnusson 13.1.2015 Kapittel 4 Maximum sub-array problemet Matrix multiplikasjon Analyse av divide-and-conquer algoritmer ved hjelp av substitusjonsmetoden Divide-and-Conquer

Detaljer

Eksamen i tdt4120 Algoritmer og datastrukturer

Eksamen i tdt4120 Algoritmer og datastrukturer Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 5 Oppgavestillere: Magnus Lie Hetland Jon Marius Venstad Kvalitetskontroll: Magnar Nedland Faglig

Detaljer

LO118D Forelesning 12 (DM)

LO118D Forelesning 12 (DM) LO118D Forelesning 12 (DM) Trær 15.10.2007 1 Traversering av trær 2 Beslutningstrær 3 Isomorfisme i trær Preorden-traversering 1 Behandle den nåværende noden. 2 Rekursivt behandle venstre subtre. 3 Rekursivt

Detaljer

Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes

Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes til å løse problemer. Undersøke ulike implementasjoner

Detaljer

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer Praktiske opplysninger INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Tid og sted: Mandag kl. 12:15-14:00 Store auditorium, Informatikkbygningen Kursansvarlige

Detaljer

Stein Krogdahl, Dino Karabeg, Petter Kristiansen. Kenneth A. Berman and Jerome L. Paul.

Stein Krogdahl, Dino Karabeg, Petter Kristiansen. Kenneth A. Berman and Jerome L. Paul. Stein Krogdahl, Dino Karabeg, Petter Kristiansen steinkr at ifi.uio.no dino at ifi.uio.no pettkr at ifi.uio.no INF 4130 / 9135 Algoritmer: Design og effektivitet Algorithms: Sequential Parallel and Distributed

Detaljer

Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110. Stein Krogdahl Ifi, UiO

Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110. Stein Krogdahl Ifi, UiO Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110 NB: Disse foilene er litt justert og utvidet i forhold til de som er delt ut tidligere på en forelesning. Ta dem ut på nytt! Stein Krogdahl

Detaljer

HamboHus 5.4 Rev. 1, 8. september 2005 A. Cordray

HamboHus 5.4 Rev. 1, 8. september 2005 A. Cordray HamboHus Technical Note Nr 10: Terreng HamboHus 5.4 Rev. 1, 8. september 2005 A. Cordray I HamboHus 5.4 er implementasjonen av terreng utvidet og forbedret. Det er lettere å lage terrengpunkter, og mye

Detaljer

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1:

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1: INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) Del 1 21/2-2014 Stein Krogdahl Ifi, UiO ngående Oblig 1: Blir lagt ut tirsdag/onsdag neste uke Oblig-ansvarlig Henning Berg orienterer 28/2

Detaljer

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017 INF0: Gruppe me Mathias Lohne Høsten 0 1 Rød-svarte trær Vanlige binære søketrær blir fort veldig ubalanserte. røv å sett inn 1,,, 4, 5,, 7,... (i den rekkefølgen) i et binært søketre. Da vil vi i praksis

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer

Detaljer

Trianguleringer i planet.

Trianguleringer i planet. Trianguleringer i planet. Preliminaries Notasjon og teminologi Graf-egenskaper med trianguleringer i planet Enkle trianguleringsalgoritmer 1 Punkter og domener. Vi starter med et sett punkter i planet

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:

Detaljer

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

Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl Student nr.: Side 1 av 5 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:

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

Korteste vei i en vektet graf uten negative kanter

Korteste vei i en vektet graf uten negative kanter Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter

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

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

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992 45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 12 Oppgave 1 Idé til algoritme Benytter S n som betegn på en tallmengde med n elementer. For at et tall m skal være et majoritetstall

Detaljer

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE

Detaljer

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

Løsnings forslag i java In115, Våren 1998 Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker

Detaljer

b) 17 går ikke opp i 84 siden vi får en rest på 16 når 84 deles med 17 c) 17 går opp i 357 siden

b) 17 går ikke opp i 84 siden vi får en rest på 16 når 84 deles med 17 c) 17 går opp i 357 siden Avsnitt. Oppgave Diskret matematikk - Høgskolen i Oslo Løsningsforslag for en del oppgaver fra boken Discrete Mathematics and Its Applications Forfatter: Kenneth H. Rosen a) 7 går opp i 68 siden 68 7 b)

Detaljer

n/b log b n = (lg n) a log b n = n log b a

n/b log b n = (lg n) a log b n = n log b a Masterteoremet 1 T (n) = at (n/b) + f(n) Antall «barn»: Størrelse per «barn»: «Høyde»: a n/b log b n = (lg n) Rota har f(n) arbeid; hver løvnode har en konstant mengde arbeid. Hva vil dominere totalen?

Detaljer

GIB2 - Stikkord. Alexander Nossum I-IKT desember Kartografi 2

GIB2 - Stikkord. Alexander Nossum I-IKT desember Kartografi 2 GIB2 - Stikkord Alexander Nossum I-IKT alexanno@stud.ntnu.no 41293632 19. desember 2006 Innhold 1 Kartografi 2 2 Datastrukturer og Algoritmer 2 2.1 Kvadtrær og trær generelt.................... 2 2.2 Hashstrukturer..........................

Detaljer

deeegimnoorrrsstt Sjette forelesning

deeegimnoorrrsstt Sjette forelesning deeegimnoorrrsstt Sjette forelesning 1 2 Rebus. Hva er dette? Svar: Kvadratiske sorteringsalgoritmer :-> Som vanlig relativt abstrakte beskrivelser her. Ta en titt på pseudokode i boka for mer detaljert

Detaljer

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

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

Hva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema

Hva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema va er en algoritme? Vanlig sammenligning: Oppskrift. nput lgoritme NF1020 - ØSTEN 2006 Kursansvarlige Ragnar Normann E-post: ragnarn@ifi.uio.no Output Knuth : tillegg til å være et endelig sett med regler

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 30: Kompleksitetsteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne

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

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering Forelesning 30 Kompleksitetsteori Dag Normann - 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne våren på semestersiden. Det blir ikke ordinære gruppetimer fra og med

Detaljer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: lgoritmer: Design og effektivitet Eksamensdag: 12. desember 2008 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet

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

INF 4130 Oppgavesett 3, 20/ m/løsningsforslag

INF 4130 Oppgavesett 3, 20/ m/løsningsforslag INF 4130 Oppgavesett 3, 20/09-2011 m/løsningsforslag Oppgave 1 1.1 Løs oppgave 20.19 (B&P), (a) er vist på forelesningen og kan vel bare repeteres, men løs (b). (a) er altså løst på forelesningen. (b)

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

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

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.

Detaljer

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Definisjon av en graf Grafvarianter Intern representasjon

Detaljer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 14. desember 2011 Eksamenstid 1500 1900 Sensurdato 14. januar Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.

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

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

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1 Øvingsforelesning 6 Sorteringsalgoritmer Martin Kirkholt Melhus martme@stud.ntnu.no Basert på foiler av Kristian Veøy 30/09/14 1 Agenda l Spørsmål fra øving 4 l Sortering l Presentasjon av øving 6 30/09/14

Detaljer

Oppgave 1. Sekvenser (20%)

Oppgave 1. Sekvenser (20%) Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet

Detaljer

Sortering i Lineær Tid

Sortering i Lineær Tid Sortering i Lineær Tid Lars Vidar Magnusson 5.2.2014 Kapittel 8 Counting Sort Radix Sort Bucket Sort Sammenligningsbasert Sortering Sorteringsalgoritmene vi har sett på så langt har alle vært sammenligningsbaserte

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

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

Lineære likningssystemer og matriser

Lineære likningssystemer og matriser Kapittel 3 Lineære likningssystemer og matriser I dette kapittelet skal vi sette sammen Kapittel 1 og 2. 3.1 Den utvidede matrisen til et likningssystem Vi starter med et lineært likningssystem med m likninger

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

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer Skal studere matematiske modeller for strøm i nettverk. Dette har anvendelser av typen fysiske nettverk: internet, vei, jernbane, fly, telekommunikasjon,

Detaljer