INF-MAT5370. Grafer og datastrukturer

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "INF-MAT5370. Grafer og datastrukturer"

Transkript

1 INF-MAT5370 Grafer og datastrukturer Øyvind Hjelle Simula Research Laboratory, August 3, 2009

2 Innhold Kort om grafer Topologiske operatorer og operasjoner, G-maps Presentasjon og analyse av forskjellige datastrukturer Kort om objekt-orientert implementasjon

3 Grafer Definisjon En graf G(V,E) består av et sett noder V og et sett kanter E som forbinder to og to noder i V. (a) (b) Grafer har i utgangspunktet ingen geometrisk informasjon. I forbindelse med trianguleringer snakker vi om embedded graphs, dvs. vi assosierer geometri til de topologiske elementene noder og kanter.

4 Topologi og geometri Vi prøver å skille mellom topologi og geometri: Topologi: Noder Kanter Trekanter Geometri: punkter kurver (linjer) flatelapper

5 Grafer og trianguleringer Trianguleringer kan sees på som spesialtilfeller av grafer: Hver trekant er implisitt gitt som en cycle av tre kanter (og tre noder). G (V,E) er planar. Definisjon En graf G(V,E) kalles planar dersom den kan tegnes i planet slik at en hver kant e i,j = (v i,v j ) ikke skjærer G utenom i v i og v j. Grafen i figur (a) er opplagt planar. Det kan vises at grafen i figur (b) ikke er planar.

6 Grafer... Andre definisjoner: Rettet graf: Kantene e i,j har retninger, for eks., fra v i til v j Multigraf: Det kan være mer enn en kant mellom to noder v i og v j. Ellers kalles grafen en enkel graf. Noen datastrukturer for trianguleringer er basert på halv-kanter (half-edges) der hver sidekant er to topologiske elementer som peker i hver sin retning; altså en Planar rettet multigraf. Ved å se på trianguleringer som grafer kan vi nyttegjøre oss av grafteortiske konsepter og graf-algoritmer.

7 Elementære topologiske operasjoner Med topologiske operasjoner på en triangulering menes operasjoner som ikke bruker geometrisk informasjon (embedding). Konseptuelt har vi to typer: I. Operasjoner som endrer topologien i. II. Operasjoner for å traversere (I) kan bestå av operatorer som: bevarer antall topologiske elementer, V, E og T, for eks. swapping, 2 fjerner topologiske elementer, 3 legger til topologiske elementer. Vi skal se nærmere på operatorer av typen II.

8 G-maps (generalized maps) G-maps muliggjør en algebraisk beskrivelse av topologien i B-rep strukturer (B-rep= Boundary Representation ). G-maps er basert på noen få enkle konsepter, og gir oss et kraftig verktøy til å implementere interfacer til datastrukturer. Vi skal bruke konsepter fra G-maps til å lage traverserings-operatorer (iteratorer) på trianguleringer. TTL (Triangulation Template Library), til bruk i øvinger, er basert på G-maps.

9 G-maps... Definisjon En dart i en triangulering er et entydig trippel d = (v i,e j,t k ) der v i er en av nodene i kanten e j, og e j er en sidekant i trekanten t k. Topologien i en triangulering består dermed av et entydig sett D av darts. e j t k v i d=(v i,e j,t k )

10 α-iteratorer (involusjoner) Vi definerer tre entydige funksjoner α 0, α og α 2 som opererer på settet D av darts. α i : D D, i = 0,,2 (dvs.α i (d) = d ) α i, i = 0,,2 er en-til-en avbildninger og bijektive, dvs. α i (α i (d)) = d. Initial dart Result of α 0 Result of α Result of α 2

11 α-iteratorer... Initial dart Result of α 0 Result of α Result of α 2 node edge triangle α 0 (switch nodes) fixed fixed α (switch edges) fixed fixed α 2 (switch triangles) fixed fixed

12 G-maps... flere definisjoner Fix point: Dersom e j i en dart d = (v i,e j,t k ) er på randen Ω av en triangulering, definerer vi d til å være uendret under α 2 : α 2 (d) = d. Komposisjon: En komposisjon α i (α j (d)) skrives α i α j (d) En triangulering kan nå representeres som en graf G (D,α 0,α,α 2 ) som vi kaller en G-map.

13 Orbits d d d α,α 2 ( d ) α,α ( d ) α,α ( d ) orbit -orbit 2-orbit Definisjon (k-orbit, k = 0,, 2) La {α i } være en, to eller alle tre α -iteratorer til en G-map G(D,α 0,α,α 2 ), og la d D. En orbit {α i } (d) av d er settet av alle darts i D som kan nås med komposisjoner av {α i } (i vilkårlig rekkefølge) ved å starte fra d. α i,α j, i,j k, i j (d) kalles k-orbit til d.

14 Egenskaper ved α-iteratorer Hvis en komposisjon α i α j utføres gjentatte ganger har vi: orbits... α 0 α itererer over noder og kanter i en trekant (2-orbit) α α 2 itererer rundt en node (0-orbit) α 0 α 2 iterer rundt en sidekant (-orbit) Hvis vi bytter α i α j med α j α i itereres det i motsatt retning. Alle d D i en regulær triangulering kan nås med komposisjoner av α i, i = 0,,2 α i (d), i = 0,,2 bytter klokke-retning på d unntatt for et fix point, dvs. for α 2 (d) når d er på randen.

15 egenskaper... I tillegg har vi og α i α i (d) = d, i = 0,,2 (α 0 α 2 (d)) 2 = α 0 α 2 α 0 α 2 (d) = d. e j t k v i d=(v i,e j,t k )

16 Dualen til en G-map er en merket graf: Dualen til G(D,α 0,α,α 2 ): En node svarer til en dart En graf-kant merket i svarer til α i (d). Grafen er regulær av grad 3.

17 n-g-maps... G-maps kan generaliseres til n dimensjoner; n-g-map Eksempel: tetrahedrisering, n = 3; 3-G-map: d = (node, edge, triangle, tetrahedron) α-iteratorer: α i, i = 0,,2,3. node edge triangle tetrahedron α 0 fixed fixed fixed α fixed fixed fixed α 2 fixed fixed fixed α 3 fixed fixed fixed

18 Datastrukturer for trianguleringer Valg av datastruktur er avhengig av applikasjonen. Generelt; trade-off mellom hastighet av å utføre topologiske operasjoner, dvs. α 0, α, α 2, og 2 lagringsbehov (i RAM eller database). Eksempel: Visualisering: Må ha tilstrekkelig naboskapsrelasjon for å ekstrahere trekant-striper raskt. Lagring på database: Trenger en datastruktur som tar liten plass. I mange applikasjoner trengs flere datastrukturer; og verktøy for å mappe mellom dem.

19 Eksempel-triangulering

20 recall... Fra preliminaries : T 2 V, E 3 V, V deg(v i ) 6 V i= (når V >> V B.) T = 2 V I + V B 2 T 2 V 5 E 3 V 6 V 3 V B 3

21 Lagring av geometrisk informasjon Hvis en triangulering representerer en terrengmodell, er den oftest stykkevis lineær; og kun nodene, {(x i,y i,z i )}, må lagres: 3 V 8 (bytes pr. double) = 24 V bytes (For glatte Bernstein-Bezier flater kan det være aktuelt å lagre mange koeffisienter i tillegg.)

22 Minimal trekant-basert datastruktur Kun en liste med trekanter uten topologisk informasjon: Triangle # : 2: 3: 4: 5: 6: Triangle i j k

23 Lagringsbehov for pekere : La N P være antall pekere. Bruker T 2 V 5, og T 2 V. N P = 3 T 6 V 5 og N P 6 V.

24 minimal trekantbasert... Hvis hver peker krever 4 bytes, må det lagres 4N P 24 V bytes, dvs. det samme som for geometrien ((x i,y i,z i )-koordinatene til nodene). Kompakt lagring Ingen naboskapsinformasjon α 2 er en O(N) operasjon. Brukes for lagring i database?

25 Trekant-basert med naboer Lagrer også nabotrekanter (mot klokka). k t k,i t j,k t i,j,k i t i,j j Triangle # : 2: 3: 4: 5: 6: Triangle i j k neighbours t j,k t k,i t i,j

26 trekantbasert med naboer... Lagringsbehovet for pekere er det doble av den minimale strukturen: N P 2 V 30 and N P 2 V

27 α 0, α og α 2 er O(). 4 α 0 ( d) d α ( d 2 ) α ( d) 6 d = (v 6,e 6,7,t 7,,6 ) α 0 (d) = (v 7,e 6,7,t 7,,6 ). α (d) = (v 6,e,6,t 7,,6 ). α 2 (d) = (v 6,e 7,6,t 7,6,4 ).

28 Node-basert med naboer Pseudo node 6

29 node-basert med naboer... Vertex # Adjaceny (ADJ) End (END)

30 lagringsbehov: N ADJ = V deg(v i ) + V B, inkludert pseudonoder, og i= N END = V. N ADJ = 2 E + V B = 2(3 V V B 3) + V B = 6 V 2 V B 6 + V B = 6 V V B 6 (Recall: E = 3 V V B 3)

31 lagringsbehov... N P = N ADJ + N END = (6 V V B 6) + V = 7 V V B 6 7 V 9 7 V når V >> V B. Dette er betydelig mindre enn for trekant-basert (N P 2 V ), men vi har ingen liste av trekanter. Med trekanter: N P 3 V. (pluss 2 3 V ) α 0, α og α 2 er O() og (muligens) raskere enn trekant-basert.

32 Halv-kant (half-edge) datastruktur Hver sidekant splittes i to rettede halv-kanter orientert i hver sin retning. (a) En halv-kant hører kun til en trekant og er orientert mot klokka. Hver halv-kant har tre pekere i) Node, ii) NextEdge, iii) TwinEdge (b) 7 6 4

33 Half- Edge # : 2: 3: 4: 5: 6: 7: 8: 9: 0: : 2: 3: 4:... Vertex Half-edge pointers Next edge Twin-edge

34 Lagringsbehov: N V : antall nodepekere N Eh : antall halv-kant pekere Totalt: N P = N V + N Eh 8 V. Hvis vi også skal ha trekanter må vi lagre 2 V pekere i tillegg, dvs. totalt: N P 20 V. Krever mer minne enn de andre strukturene, men α 0, α og α 2 er (mye) raskere.

35 Dart-basert datastruktur Lar dart en være det eneste topologiske elementet i datastrukturen. (a) (b) α α α 0 6 Dette konseptet brukes bl.a. i 3D geologisk modellering, for eks. i gocad. Kan brukes for små modeller.

36 (a) (b) Dart d : 2: 3: 4: 5: 6: 7: 8: 9: 0: : α 2 6 α 3 α 0 Dart pointers Vertex α 0 (d) α (d) α 2 (d)

37 dart-basert... lagringsbehov: 6 darts for hver trekant bruker T 2 V 5 og T 2 V N P 48 V 20 og N P 48 V. Hvis en liste av trekanter også lagres (hver trekant som en leading dart ), får vi i tillegg 2 V pekerfelter; dvs. totalt N P 50 V. ca. tre ganger lagringsbehovet for halv-kant strukturen!!! Men, rask: ingen beregninger eller sammenligninger for å utføre α 0, α og α 2. Konklusjon: uakseptabelt for store datamengder.

38 Sammendrag, datastrukturer Trade-off mellom lagringsbehov og hastighet: Struktur Lagring Effektivitet Minimal trekant-basert N P 6 V α 2 = O(N) Node-basert med naboer N P 7 V god Trekant-basert med nab. N P 2 V god+ Halv-kant (Half-Edge) N P 8 V god++ Dart-basert N P 48 V O(0)

39 Objekt-orientert design Eksempel med halv-kant (half-edge) struktur: Klasser: Node, HalfEdge, Triangle, Triangulation. (twin edge) Node 0 Half-Edge Triangle N Tiangulation (next in triangle) Klassediagram

40 Implementasjon class Triangle kan implementeres som en peker til en av halv-kantene. class Triangulation kan implementeres som std::list<triangle>. Typiske medlemsfunksjoner: HalfEdge::getNextHalfEdge: α α 0 (d) HalfEdge::getTwinEdge: α 0 α 2 (d)

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

Topologiske operatorer og operasjoner, G-maps. Presentasjon og analyse av datastrukturer. Kort om objekt-orientert implementasjon

Topologiske operatorer og operasjoner, G-maps. Presentasjon og analyse av datastrukturer. Kort om objekt-orientert implementasjon Kor om grafer Topologiske operaorer og operasjoner, G-maps Presenasjon og analyse av daasrukurer Kor om objek-oriener implemenasjon Grafer DEFINISJON. En graf GÂV, EÃ besår av e se noder V og e se kaner

Detaljer

Trianguleringer og anvendelser

Trianguleringer og anvendelser INF-MAT5370 Trianguleringer og anvendelser Fra seilflysimulatoren Silent Wings Bakgrunn for kurset: Kurset ble til til mens vi vi (foreleserne) arbeidet med oppdrag for industrien på SINTEF. Samtlige deler

Detaljer

Obligatoriske oppgaver 2009

Obligatoriske oppgaver 2009 Obligatoriske oppgaver 2009 Sist oppdatert August 13, 2009. Generelt: Dokumentet kan bli oppdatert etter hvert med flere obligatoriske oppgaver. Endringer og tillegg til oppgaver som allerede er gitt blir

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

INF-MAT5370. Delaunay-trianguleringer og Voronoi-diagram

INF-MAT5370. Delaunay-trianguleringer og Voronoi-diagram INF-MAT5370 Delaunay-trianguleringer og Voronoi-diagram Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no September 7, 2009 Innhold Klassisk teori Optimale trianguleringer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF330 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 3. desember 010 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

Visualisering av trianguleringer og trianguleringsprosesser. Hovedfagsoppgave. Per-Idar Evensen

Visualisering av trianguleringer og trianguleringsprosesser. Hovedfagsoppgave. Per-Idar Evensen UNIVERSITETET I OSLO Institutt for informatikk Visualisering av trianguleringer og trianguleringsprosesser Hovedfagsoppgave Per-Idar Evensen (periev@ifi.uio.no) November 2004 2 Forord Denne hovedfagsrapporten

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

Data-avhengige trianguleringer

Data-avhengige trianguleringer Data-avhengige trianguleringer Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no October 5, 2009 Definition (Data-avhengig triangulering) En triangulering (P),

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

Innhold. Innledning 1

Innhold. Innledning 1 Innhold Innledning 1 1 Kompleksitetsanalyse 7 1.1 Innledning.............................. 8 1.2 Hva vi beregner........................... 8 1.2.1 Enkle operasjoner...................... 8 1.2.2 Kompleksitet........................

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister Lars Sydnes, NITH 5. februar 2014 I. Implementasjoner Tabell-implementasjon av Stakk Tabellen er den lettest tilgjengelige datastrukturen

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

Liste som abstrakt konsept/datatype

Liste som abstrakt konsept/datatype Lister Liste som abstrakt konsept/datatype Listen er en lineær struktur (men kan allikevel implementeres ikke-lineært bak kulissene ) Hvert element har en forgjenger, unntatt første element i listen Hvert

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.

Detaljer

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til

Detaljer

INF Algoritmer og datastrukturer

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

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 10

PG4200 Algoritmer og datastrukturer Forelesning 10 PG4200 Algoritmer og datastrukturer Forelesning 10 Lars Sydnes, NITH 9. april 2014 NOE Å STUSSE PÅ? Quadratic probing i Hash-tabell: ( ) 2 i + 1 p = p + ( 1) i+1 2 Underforstått forutsetning: Heltallsaritmetikk

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

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF0 - Algoritmer og datastrukturer HØSTEN 05 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF0.09.05 / 8 Dagens plan: Minimale spenntrær Prim Kruskal

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

Kap 9 Tre Sist oppdatert 15.03

Kap 9 Tre Sist oppdatert 15.03 Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer IN2220 - lgoritmer og datastrukturer HØSTN 2016 Institutt for informatikk, Universitetet i Oslo orelesning 7: rafer III Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 1 / 28 agens plan: evis for Prim ybde-først

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

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

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 Algoritmer og datastrukturer GRAFER GRAFER Dagens plan: Minimale spenntrær Prim Kapittel 9.5.1 Kruskal Kapittel 9.5.2 Dybde-først søk Kapittel 9.6.1 Løkkeleting Dobbeltsammenhengende grafer Kapittel 9.6.2 Å finne ledd-noder articulation

Detaljer

Romlig datamanipulering

Romlig datamanipulering Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.

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

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

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

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene.

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene. Notat 3 for MAT1140 3 Mengder 3.1 Mengder definert ved en egenskap Det matematiske begrepet mengde har sin opprinnelse i vår intuisjon om samlinger. Objekter kan samles sammen til et nytt objekt kalt mengde.

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

Velkommen til webseminar. - Store modeller. Novapoint DCM. VIANOVA/Statens vegvesen. Solveig Fiskaa, 14.12.2015

Velkommen til webseminar. - Store modeller. Novapoint DCM. VIANOVA/Statens vegvesen. Solveig Fiskaa, 14.12.2015 Velkommen til webseminar Novapoint DCM - Store modeller VIANOVA/Statens vegvesen Solveig Fiskaa, 14.12.2015 Innhold Hvitbok Store modeller Hva gjør en modell stor? Tiltak Demo Egen modell for eksisterende

Detaljer

Kapittel 10 fra læreboka Grafer

Kapittel 10 fra læreboka Grafer Kapittel 10 fra læreboka Grafer (utdrag) En graf er en samling punkter (noder) og kanter mellom punktene (eng. nodes, vertex, edge). En graf kalles rettet hvis kantene har en retning og urettet hvis kantene

Detaljer

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen A study of different matching heuristics Hovedfagspresentasjon Jan Kasper Martinsen (janma@ifi.uio.no) Terminologi: Graf teori En graf består av et sett med noder Nodene er tilknyttet hverandre ved hjelp

Detaljer

MAT1140: Kort sammendrag av grafteorien

MAT1140: Kort sammendrag av grafteorien MAT1140, H-15 MAT1140: Kort sammendrag av grafteorien Dette notatet gir en kort oppsummering av grafteorien i MAT1140. Vekten er på den logiske oppbygningen, og jeg har utelatt all motivasjon og (nesten)

Detaljer

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

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Forelesningsnotat i Diskret matematikk tirsdag 1. november Pascals trekant. Legg merke til møsteret! Det gir oss Pascals identitet:

Forelesningsnotat i Diskret matematikk tirsdag 1. november Pascals trekant. Legg merke til møsteret! Det gir oss Pascals identitet: Pascals trekant Legg merke til møsteret! Det gir oss Pascals identitet: ( n + 1 k ) = ( n k 1 ) + (n k ) 1 Sjekk med tabellen! La n = 5, og k = 4: ( 5 + 1 2 ) = (6 2 ) = (5 1 ) + (5 2 ) Det stemmer! 15

Detaljer

Grunnleggende Grafalgoritmer III

Grunnleggende Grafalgoritmer III Grunnleggende Grafalgoritmer III Lars Vidar Magnusson 26.3.2014 Kapittel 21 og 22 Usammenhengende-sett Strongly-connected components Usammenhengende Sett Usammenhengende sett er ikke en grafalgoritme i

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

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

Eksamen i Geometrisk Modellering

Eksamen i Geometrisk Modellering Eksamen i Geometrisk Modellering STE6081 Sivilingeniørutdanningen ved Høgskolen i Narvik, Data/IT og Ingeniørdesign, 10.mars 2000 Til denne eksamenen er godkjente formelsamlinger samt alle typer kalkulatorer

Detaljer

Grunnleggende Grafalgoritmer

Grunnleggende Grafalgoritmer Grunnleggende Grafalgoritmer Lars Vidar Magnusson 19.3.2014 Kapittel 22 Representere en graf Bredde-først søk Grafer i Informatikken Problem med grafer går ofte igjen i informatikkens verden, så det å

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

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

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf Vektet Urettet Graf KORTESTE STI Finn: fra en Enkel Kilde til Alle Noder. (Engelsk: Single Source Shortest Path - SSSP) Vektede Grafer vekter på kanter representerer f.eks. avstand, kostnad, båndbredde...

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

Det første grafteoretiske problem: Broene i Königsberg

Det første grafteoretiske problem: Broene i Königsberg Dagens plan: INF0 - Algoritmer og datastrukturer HØSTEN 007 Institutt for informatikk, Universitetet i Oslo INF0, forelesning 6: Grafer Denisjon av en graf (kap. 9.1) Grafvarianter Intern representasjon

Detaljer

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

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

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

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Definisjon av binær relasjon Definisjon av ekvivalens

Detaljer

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

Binære søketrær. En ordnet datastruktur med raske oppslag. Sigmund Hansen Binære søketrær En ordnet datastruktur med raske oppslag Sigmund Hansen Lister og trær Rekke (array): 1 2 3 4 Lenket liste (dobbelt-lenket): 1 2 3 4 Binært søketre: 3 1 4 2 Binære

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 10 1 / 27

Detaljer

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

Heap* En heap er et komplett binært tre: En heap er også et monotont binært tre: Heap 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 til venstre En heap er også et

Detaljer

Binære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013

Binære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013 Binære søketrær Et notat for INF Stein Michael Storleer 6. mai 3 Dette notatet er nyskrevet og inneholder sikkert feil. Disse vil bli fortløpende rettet og datoen over blir oppdatert samtidig. Hvis du

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

Øvingsforelesning 2 - TDT4120. Grafer og hashing. Benjamin Bjørnseth

Øvingsforelesning 2 - TDT4120. Grafer og hashing. Benjamin Bjørnseth Øvingsforelesning 2 - TDT4120 Grafer og hashing Benjamin Bjørnseth Informasjon Studasser algdat@idi.ntnu.no Program Presentasjon av øving 2 Grafer og traverseringsalgoritmer BFS, DFS Hashing Gjennomgang

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

Flerveis søketrær og B-trær

Flerveis søketrær og B-trær Flerveis søketrær og B-trær Flerveis (multi-way, n-ært) søketre Generalisering av binært søketre Binært søketre: Hver node har maksimalt 2 barn og 1 nøkkelverdi. Barna ligger sortert på verdi i forhold

Detaljer

Matematisk morfologi IV

Matematisk morfologi IV Matematisk morfologi IV Lars Aurdal Norsk regnesentral Lars.Aurdal@nr.no. desember 3 Copyright Lars Aurdal, NTNU/NR Oversikt, kursdag Geodesi-transformasjoner: Geodesi-dilasjon. Geodesi-erosjon. Geodesi-rekonstruksjon.

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

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

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003 INF1000 HashMap Marit Nybakken marnybak@ifi.uio.no 2. november 2003 Dette dokumentet skal tas med en klype salt og forfatteren sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

Detaljer

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer?

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer? IT1101 Informatikk basisfag Plan de siste ukene: I dag: siste om datastruktuter (kap. 7) Mandag 17/11: dobbel forelesning om filstrukturer (kap. 8) Torsdag 20/11: øvingsforelesning med Inge Mandag 24/11:

Detaljer

Parallelle og distribuerte databaser del III

Parallelle og distribuerte databaser del III UNIVERSITETET I OSLO Parallelle og distribuerte databaser del III NoSQL og alternative datamodeller Institutt for Informatikk INF3100 20.4.2015 Ellen Munthe-Kaas 1 NoSQL NoSQL er et paraplybegrep som omfatter

Detaljer

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 7

PG4200 Algoritmer og datastrukturer Forelesning 7 PG4200 Algoritmer og datastrukturer Forelesning 7 Lars Sydnes, NITH 19. mars 2014 I. TERMINOLOGI FOR TRÆR TRÆR Lister: Lineære Trær: Hierarkiske Modell / Språk: Bestanddeler: Noder, forbindelser. Forbindelse

Detaljer

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede Dagens plan: GRAFER Definisjon av en graf (kapittel 9.) Grafvarianter Intern representasjon av grafer (kapittel 9..) Topologisk sortering (kapittel 9.) Korteste vei en-til-alle uvektet graf (kapittel 9..)

Detaljer

GRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær

GRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær IN Algoritmer og datastrukturer GRAER IN Algoritmer og datastrukturer Dagens plan: orteste vei, en-til-alle, for: ektet rettet graf uten negative kanter (apittel 9..) (Dijkstras algoritme) ektet rettet

Detaljer

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)

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

GRAF-TRAVERSERING. Hvordan utforske en labyrint uten å gå seg vill. Rekkefølge på kanter: Dybde-Først Søk A B C D E F G H I J K L M N O P

GRAF-TRAVERSERING. Hvordan utforske en labyrint uten å gå seg vill. Rekkefølge på kanter: Dybde-Først Søk A B C D E F G H I J K L M N O P R-TRVRSRIN ybde-ørst Søk redde-ørst Søk ruk av MetodeMal som designmønster (Template Method Pattern H Hvordan utforske en labyrint uten å gå seg vill. t dybde-først søk (S) i en urettet graf er som å vandre

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

MAT1140: Kort sammendrag av grafteorien

MAT1140: Kort sammendrag av grafteorien MAT1140: Kort sammendrag av grafteorien Dette notatet gir en kort oversikt over den delen av grafteorien som er gjennomgått i MAT1140 høsten 2013. Vekten er på den logiske oppbygningen, og jeg har utelatt

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

Algoritmer for Delaunay-triangulering

Algoritmer for Delaunay-triangulering Algoritmer for Delaunay-triangulering 1. En enkel algoritme 2. Radial Swee 3. Steg-for-steg 4. Inkrementelle algoritmer 5. Slitt-og-hersk Innsetting av unkter Punkt-lokalisering Tidsforbruk 1 Enkel LOP-basert

Detaljer

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer Oppgavesettet består av 8 (åtte) sider. NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer Tillatte hjelpemidler: Ingen Side 1 av 8 Varighet: 3 timer Dato: 4.juni 2013 Fagansvarlig:

Detaljer

INF Innleveringsoppgave 6

INF Innleveringsoppgave 6 INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering

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

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

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 Algoritmer og datastrukturer GRAFER GRAFER Dagens plan: Definisjon av en graf (kapittel 9.1) Grafvarianter Intern representasjon av grafer (kapittel 9.1.1) Topologisk sortering (kapittel 9.2) Korteste vei, en-til-alle, for: uvektet graf

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps

Detaljer

PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014

PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014 PG4200 Algoritmer og datastrukturer forelesning 10 Lars Sydnes 21. november 2014 I Grafer Grafisk fremstilling av en graf D A B C Ikke-rettet graf Grafisk fremstilling av en graf D A B C Rettet graf Grafisk

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2012 Tid for eksamen: 14:30 18:30 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 110 Algoritmer og datastrukturer Eksamensdag : Lørdag 8. desember 2001 Tid for eksamen : 09.00-15.00 Oppgavesettet er på

Detaljer

Løsningsforslag til eksamen i PG4200 Algoritmer og datastrukturer 10. desember 2014

Løsningsforslag til eksamen i PG4200 Algoritmer og datastrukturer 10. desember 2014 Løsningsforslag Dette er et utbygd løsningsforslag. D.v.s at det kan forekomme feil og at løsningene er mer omfattende enn det som kreves av studentene på eksamen. Oppgavesettet består av 5 (fem) sider.

Detaljer

Lars Vidar Magnusson

Lars Vidar Magnusson Binære Søketrær Lars Vidar Magnusson 14.2.2014 Kapittel 12 Binære Søketrær Søking Insetting Sletting Søketrær Søketrær er datastrukturer som støtter mange dynamiske sett operasjoner. Kan bli brukt både

Detaljer

MATEMATIKK. September

MATEMATIKK. September MATEMATIKK Periode Hovedområde Kompetansemål Innhold / metode August Tall og algebra Sette sammen og dele opp tiergrupper Gjenkjenne, samtale om og videreføre September strukturer i enkle tallmønstre Bruke

Detaljer

Løsningsforslag for eksamensoppgave, våren 2004

Løsningsforslag for eksamensoppgave, våren 2004 Løsningsforslag for eksamensoppgave, våren 2004 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning Oppgave 1 Node.h // I oppgaven i n d i k e r e s d e t a t en s k a l kunne l a g r e t a l

Detaljer

Oppgaver MAT2500 høst 2011

Oppgaver MAT2500 høst 2011 Oppgaver MAT2500 høst 2011 31. oktober 2011 Oppgaver avsnitt 1 Oppgave 1. Bruk cosinussetningen til å se at definisjonen av vinkel i planet blir riktig. Oppgave 2. Vis at d(x, y) = 0 hvis og bare hvis

Detaljer

PQ: HEAP. Heap. Er disse heap er? Hvordan implementere heap:

PQ: HEAP. Heap. Er disse heap er? Hvordan implementere heap: PQ: HEAP Ingen sammenheng med memory heap Definisjon og data-invarianter for heap InsertKey og RemoveMin for heap Kompleksitet for operasjoner: O(log n) Prioritetskø impl vha Heap Heap En heap er et binært

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Lars Vidar Magnusson

Lars Vidar Magnusson B-Trær Lars Vidar Magnusson 5.3.2014 Kapittel 18 B-trær Standard operasjoner Sletting B-Trær B-trær er balanserte trær som er designet for å fungere bra på sekundære lagringsmedium e.g. harddisk. Ligner

Detaljer

Dagens plan: INF2220 - Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær

Dagens plan: INF2220 - Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær Dagens plan: INF2220 - lgoritmer og datastrukturer HØTEN 2007 Institutt for informatikk, Universitetet i Oslo (kap. 4.7) (kap. 12.2) Interface ollection og Iterator (kap. 3.3) et og maps (kap. 4.8) INF2220,

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer N0 - lgoritmer og datastrukturer ØSTN 0 nstitutt for informatikk, Universitetet i Oslo orelesning : rafer ngrid hieh Yu (fi, UiO) N0 0.0.0 / 0 agens plan: ybde-først søk Strongly connected components jesteforelesning:

Detaljer