Algoritmer for Delaunay-triangulering
|
|
- Annette Hansen
- 6 år siden
- Visninger:
Transkript
1 Algoritmer for Delaunay-triangulering Øyvind Hjelle Simula Research Laboratory, September 21, 2009
2 Innhold Algoritmer 1 En enkel algoritme 2 Radial Sweep 3 Steg-for-steg 4 Inkrementelle algoritmer 5 Splitt-og-hersk Innsetting av punkter Punkt-lokalisering Tidsforbruk
3 Enkel LOP-basert algoritme Direkte resultat fra kapitlene foran. Vi bruker: Algoritme (I) fra første del: Triangulering av et lukka polygon basert på fremskutte punkt. Algoritme (II); innsetting av et punkt i en triangulering. LOP (lokal optimerings-prosedyre) som swapper sidekanter etter Delaunay-kriterier til trianguleringen er Delaunay.
4 Gitt et punktsett P. Algoritme 1 Beregn Q = ConvHull(P). 2 Algoritme (I) på Q gir en triangulering. 3 Algoritme (II) for å sette inn alle punkter fra P innen for Q i gir en triangulering (P). 4 LOP på sidekantene i helt til ingen sidekanter kan swappes gir: = En triangulering (P) der alle sidekanter er lokalt optimale. I følge Teorem ( ) er Delaunay.
5 Kommentarer: ConvHull(P) kan beregnes i O(N log N). Step 4 er av orden O(N 2 ) i verste fall. Krever en effektiv punktlokaliserings-algoritme i Step 3. Algoritmen er ikke spesielt rask. Algoritmen kan være ustabil da vi ikke får swappet bort smale trekanter etter hvert. Hvordan kan vi få den mer stabil?
6 Radial Sweep algoritme Bytter ut Step 1,2,3 i enkel algoritme. (Figur på neste lysark) 1 Velg et punkt p nær senteret av P og lag sidekanter {e p,pi } i=1 N 1 ; figur (a) 2 Sorter og ordne {P \ p} på retning og avstand fra p og lag randkanter E B1 ; figur (b) triangulering (P). 3 Lag trekanter {t pi 1,p i,p i+1 } på randen av (P) og oppdater randen etter hvert. Repeter til Conv(P) er dekket av trekanter (P); figur (c). 4 LOP på sidekantene i (P) helt til ingen sidekanter kan swappes; figur (d) = En triangulering der alle sidekanter er lokalt optimale. I følge Teorem ( ) er (P) nå Delaunay
7 (a) (b) p (c) (d)
8 Kommentarer til Radial Sweep. Algoritmen er statisk, dvs. man må kjenne alle punktene når man starter algoritmen. Sortering er av orden O(N log N) Step 4 av orden O(N 2 ) i verste fall.
9 Steg-for-steg algoritme Metoden går ut på å lage en og en Delaunay-trekant fra punkter i P til vi har en Delaunay-triang. (P). Hvordan kan vi velge tre punkter a, b og c fra P slik at t a,b,c er en Delaunay-trekant? Fra forrige kapittel har vi: Lemma (sirkel-lemma) Den omskrivende sirkel til en trekant i en Delaunay-triangulering av P omslutter ingen punkter fra P. Men, kan det finnes en trekant t a,b,c slik at C(t a,b,c ) ikke omslutter punkter fra P, men som likevel ikke er Delaunay?
10 Vi gjør nå resultatet komplett slik at det er implikasjonener begge veier ( hvis og bare hvis )! Theorem ( ) En trekant t a,b,c med hjørnepunkter a, b og c fra et punktsett P er en Delaunay-trekant i (P) (hvis og bare hvis) C(t a,b,c ) omslutter ingen punkter fra P. = Hvis t a,b,c er en Delaunay-trekant i en Delaunay-triangulering (P), så omslutter C(t a,b,c ) ingen punkter fra P (i følge sirkel-lemma).
11 Bevis med voksende sirkel (growing circle) b α p t b,a,p c t a,b,c e b α C(t a,b,c ) a
12 Proof. =. Vi lager et konstruktivt bevis som samtidig definerer en algoritme. Anta at C(t a,b,c ) omslutter ingen punkter fra P, se figur. La sirkelen vokse på motsatt side av e b fra c til den når et punkt p. Hvis et punkt fra P ikke kan nås, må e b være en kant på ConvHull(P); velg en annen sidekant i t a,b,c som e b etc. Lag trekanten t b,a,p ; C(t b,a,p ) omslutter nå ingen punkter fra P. Gjenta dette med en ny e b hver gang til hele Conv(P) er dekket av trekanter {t i } T i=1 i en triangulering (P). C(t i ), i = 1,..., T omslutter nå ingen punkter i P. > (P) er en Delaunay-triangulering i følge Teorem ( ) og Teorem ( ) (eller Corollar). >> t a,b,c er en Delaunay trekant.
13 Algoritme (steg-for-steg) 1 Finn en Delaunay-sidekant e pi,p j fra P; for eksempel: 1 p i og p j er to nærmste naboer i P, eller: 2 p i og p j er to naboer på ConvHull(P). 2 Lag den første voksende sirkelen C I tilfelle (a); la C ha senter i (p i + p j )/2 I tilfelle (b), la C være uendelig stor med senter utenfor Conv(P) 3 Resten blir som konstruksjonen i beviset ovenfor.
14 Kommentarer til steg-for-steg algoritme: Vi trenger en passende underliggende data-struktur for P slik at søk etter et hjørnepunkt p til en Delaunay-trekant t a,b,p blir effektiv. Hvis ikke, blir tidsforbruket alltid O(N 2 ). Algoritmen undersøker vinkelen α med toppunkt i p, se figur. Punktet p som gir max α velges. Algoritmen er statisk.
15 Inkrementelle algoritmer for Delaunay-triangulering. Inkrementelle algoritmer på et punktsett P kjennetegnes ved: 1 Starter med en initiell Delaunay-triangulering I, for eks.: (a) I ( P); der P er et subsett av P ( I kan være en trekant) (b) I (S) der S er temporære punkter som ikke hører til P. p i Conv(S), i = 1,..., N. 2 De gjenværende punktene blir satt inn ett og ett (i vilkårlig rekkefølge). 3 Trianguleringen oppdateres til å være Delaunay for hvert punkt som settes inn. 4 I tilfellet (b) over må S fjernes til slutt. *) Det vil lønne seg å sortere punktene, f.eks. leksikografisk på x og y for effektiv lokalisering.
16 Step 2 Hvordan kan vi sette inn et punkt p i en Delaunay-triangulering N (P) slik at N+1 (P p) også er Delaunay? (a) (b) p Q p R p p Definition Influens-regionen R p = er trekantene som må endres ved innsetting av p. Definition Influens-polygonet Q p = er randen til R p.
17 Alternativ (a): (i) finn R p (ii) fjern alle trekantene i R p (iii) retrianguler {Q p p}. Alternativ (b): (i) finn trekanten t pi,p j,p k slik at p t pi,p j,p k (ii) lag sidekanter e p,pi, e p,pj og e p,pk ; (iii) swap kanter til trianguleringen er Delaunay. HVORDAN ER R p?
18 Lemma En trekant t i må endres når p settes inn hvis og bare hvis p C(t i ). Proof. Beviset følger direkte fra Teorem ( ) over.
19 Theorem La N+1 være Delaunay-trianguleringen fra innsetting av p i en Delaunay-triangulering N. Da vil alle nye (og endrede) trekanter i N+1 ha p som en felles node. Motbevis. Merk først at kun trekantene innenfor Q p i N vil endres. Anta at det er (blir) en Delaunay-trekant t pi,p j,p k i N+1 innenfor Q p slik at p ikke er en node i t pi,p j,p k. p i, p j og p k er Voronoi-naboer relativt til {P p}. > Da er de også Voronoi-naboer i P i følge Lemma ( ); og > siden t pi,p j,p k er en Delaunay-trekant i N+1, er den også en Delaunay-trekant i N. >> Motsigelse: Siden t pi,p j,p k er innenfor Q p har vi at p C(t pi,p j,p k ) og følgelig kan t pi,p j,p k ikke være en Delaunay-trekant i N+1.
20 (a) (b) Q p p R p Konsekvenser: Nodene til trekantene i N innenfor R p hører til Q p R p er sammenhengende (hvis p er innenfor N ) Q p er stjerneformet s.a. alle noder i Q p er synlige fra p Algoritme (1, med R p og Q p.) 1 Finn R p, dvs. {t i } slik at p C(t i ); Figur (a) 2 Fjern alle t i 3 Lag sidekanter {e p,pi } der p i er punkter på Q p.
21 (c) (d) p Hvis p ligger utenfor N må vi sørge for at randen til N+1 blir konveks slik: p forbindes til alle punkter på ConvHull(P) som er synlige fra p.
22 Punktinnsetting og rekursiv swapping Innsetting av p i en triangulering: N (P) N+1 (P p) Det fremgår av det foregående at: 1 Influensregionen R p er sammenhengende når p er innenfor N 2 R p er ofte begrenset (men i verste fall kan R p være hele (P) Vi skal utnytte dette til å lage en rask og kompakt algoritme basert kun på swapping.
23 p p p p p Algoritme (2, med swapping) 1 Lokaliser en trekant t pi,p j,p k slik at p t pi,p j,p k 2 Sett inn sidekanter e p,pi, e p,pj og e p,pk. 3 Swap kanter innenfor R p i henhold til Delaunay-kriteriene. I punkt 3 kan vi f.eks. kjøre LOP, men vi skal utlede en smartere swappe-strategi (men som fortsatt kun swapper kanter som ikke er lokalt optimale)...
24 Rekursiv swappeprosedyre (Step 3). (a) (b) e 1,1 e 1,3 ' e 1 p e 1 p e 1,2 e 3 e 3 e 1,4 e 2 e 2 e p,pi, e p,pj og e p,pk kan ikke swappes. Kun e 1, e 2 and e 3 i (a) er kandidater for swapping med LOP. (Alle andre kanter er diagonaler i de samme kvadrilateraler som før innsetting av p og er derfor lokalt optimale siden N er Delaunay.) SWAP, f.eks. e 1 til e 1 ; se figur (b). Merk at e 1 swappes til punktet p. e 1,1 og e 1,2 motsatt e 1 fra p blir nye kandidater for swapping.
25 (a) (b) e 1,1 e 1,3 ' e 1 p e 1 p e 1,2 e 3 e 3 e 1,4 e 2 e 2 Start på rekursiv swapping. Men, hva med e 1,3 og e 1,4? Generelt blir også disse kandidater, men: Hypotese( ): e 1,3 og e 1,4 (som begge har noder i p) er ikke kandidater for swapping (vises senere). SWAP e 1,2 og rekursjon, se over. (e 1,1 er lokalt optimal i dette eksempelet).
26 (a) (b) e 1,1 e 1,3 ' e 1 p e 1 p e 1,2 e 3 e 3 e 1,4 e 2 e 2 Algoritme (recswapdelaunay(edge e i )) 1 if (swaptest(e i ) == OK) 2 RETURN 3 swapedge(e i ) // til p 4 recswapdelaunay(e i,1 ) // rekursjon 5 recswapdelaunay(e i,2 ) // rekursjon
27 p p p p p Konklusjon så langt (hvis hypotesen holder): Kan swappe rekursivt utover fra p uten å måtte beregne influensregionen R p.... flere konklusjoner følger senere...
28 c x e i,3 e i,1 b p ' e i e i,2 C e i,4 C a Se animasjon. Hypotese( ): Lemma Hver kant-swap i algoritme recswapdelaunay(edge e i ) genererer maks. to kandidater for swapping.
29 c x e i,3 e i,1 b p ' e i e i,2 C e i,4 C a Proof. Må vise at e i,3 og e i,4 er lokalt optimale etter at e i er swappet til e i. Vi gjør dette for e i,3 ved å se på kvadrilateralet (p,b,c,x). Må altså vise at x / C i figuren. p C (p.g.a. at e i ble swappet), men ellers er C punktfri siden t a,b,c er Delaunay i N. C : (c p b) C (siden (c p b) interpolerer p.) > (c p b) er punktfri og >> x / C og e i,3 er lokalt optimal. Tilsvarende for e i,4 følger fra symmetri.
30 c x e i,3 e i,1 b p ' e i e i,2 C e i,4 C a
31 Observasjoner og flere resultater: Swapping starter i 3 avgrensede vinkel-sektorer utspent av p og e i, i = 1,2,3 (som dekker hele planet) For hver swap deles en vinkelsektor i to (rekursjon). Hver kant som sjekkes er på motsatt side av p i en trekant med p som node En kant swappes alltid til p og vil ikke swappes igjen i recswapdelaunay Lemma Ingen kanter sjekkes mer enn en gang i recswapdelaunay.
32 En vinkelsektor (p,e i ) i R 2 er ferdigbehandlet hvis e i ikke skal swappes. > recswapdelaunay convergerer. >> Alle kanter i N+1 er lokalt optimale og N+1 er Delaunay. Det følger fra Lemma: Corollary Følgende er Delaunay-kanter: 1 e p,pi, e p,pj og e p,pk (nye kanter som ikke swappes) 2 Alle kanter som swappes (til p) 3 Alle kanter som passerer swaptest. Dette er forskjellig fra generell LOP på en vilkårlig triangulering der en swap av en kant ikke nødvendigvis gir en Delaunay-kant.
33 Verifisering av Korollar med: Tidligere teorem: En kant e i,j mellom to punkter p i og p j i P er en Delaunay-kant. det eksisterer en sirkel C gjennom p i og p j slik at det indre av C ikke inneholder punkter fra P. (a) C C (b) C C t i p p ' e i e i t i 1 e p,pi, e p,pj og e p,pk ; figur (a). 2 Alle kanter som swappes (til p); figur (b) C inneholder kun p = C er punktfri. 3 Alle kanter som passerer swaptest.; figur (b). (i så fall: p / C)
34 Punktinnsetting forts.... Hvis p settes inn på en eksisterende indre kant dekkes dette av teorien og recswapdelaunay uten spesialbehandling Hvis p settes inn på på en rand-kant e i må vi splitte e i hvis vi ikke tillater degenererte trekanter. Hvis p settes inn utenfor trianguleringen: Får nye initielle kanter e p,p1,e p,p2,e p,p3,... der p 1,p 2,p 3,... er alle noder som er synlige fra p. Ellers er teorien den samme (og recswapdelaunay).
35 Tidsforbruk for inkrementelle algoritmer Først: tidsforbruk for en worst-case konfigurasjon av P. (a) 1 (b) (c) La P = {(x i,y i )} være punkter uniformt fordelt på en parabel y = 1 2 x2 ; figur (a). Start med t p1,p 2,p 3 og sett inn punkter i rekkefølgen: p 4,p 5,...,p 10. Anta at vi har satt inn p k slik at ({p 1,...,p k }) er Delaunay. Ved innsetting av p k+1 er influensregionen R p = ({p 1,...,p k }); dvs. alle trekantene må endres for at ({p 1,...,p k+1 }) skal være Delaunay; figur (b) og (c).
36 Tidsforbruk for å triangulere N punkter blir: siden N (i 1) = 1 2 N2 1 2 N 3 = O(N2 ). i= n = n(n + 1)/2 = 1 2 n n
37 x 4-5 O(N), O(N log N), O(N 2 )
38 Kommentarer: Punktkonfigurasjoner som gir worst-case opptrer nesten aldri i praksis. Tidsforbruket er valigvis mer avhengig av den underliggende data-struktur enn av teoretisk orden på algoritmer. I praksis, hvis man har en passende data-struktur, har de flese algoritmer et O(N log N) eller nesten O(N) forløp.
39 Punkt-lokalisering Problem Gitt et punkt p og en start-trekant t i i (P). Finn trekanten t ι i (P) slik at p t ι ; eller avgjør om p er utenfor. Raske algoritmer for Problem er viktige i, inkrementelle algoritmer evaluering av (P) etc.
40 Eksempel på løsning av Problem Gitt en dart d i = (v i,e i,t i ) orientert mot klokka i t i. La H(d i ) være halvplanet til venstre for d i som inneholder v i og noden i α 0 (d i ). Da er p t i p H(d i ) H (α 1 α 0 (d i )) H (α 0 α 1 (d i )) Anta at randen til (P) er konveks: α 2 (d b ) = d b og p / H(d b ) = p er utenfor (P).
41 d i p
42 Algoritme: d i Gitt p = (x,y) og en dart d i = (v i,e i,t i ) orientert mot klokka i t i. p Algoritme (Punktlokalisering) 1 d start := d i 2 if p H(d i ) 3 d i := α 1 α 0 (d i ) // next edge ccw. in t i 4 if d i == d start 5 FOUND := true, RETURN // inside t i 6 else // try to move to the adjacent triangle 7 if α 2 (d i ) == d i // check if on boundary 8 FOUND := false, RETURN // outside 9 d start := α 0 α 2 (d i ) 10 d i := α 1 α 2 (d i ) // next edge ccw. in adj. t ι 11 GOTO Step 2
43 template <class PointType, class DartType> bool locateface(pointtype& point, DartType& dart iter) { DartType dart start = dart iter; DartType dart prev; for (;;) { // endless loop if (dart iter.inlefthalfplane(point)) { dart iter.alpha0().alpha1(); if (dart iter == dart start) return true; // left to all edges in face } else { // try to move to the adjacent triangle dart prev = dart iter; dart iter.alpha2(); if (dart iter == dart prev) return false; // iteration to outside boundary dart start = dart iter; dart start.alpha0(); dart iter.alpha1(); // avoid twice on same edge and ccw in next } } // end for }
44 Splitt-og-hersk algoritme Splitt-og-hersk (divide-and-conquer) er en generell teknikk brukt innen mange områder av CG, for eksempel i algoritmer for: Konveks omhylning Nærmeste naboer Voronoi-diagram Generelt er splitt-og-hersk algoritmer av orden O(N log N). Splitt-og-hersk er den eneste (kjente) triangulerings-algoritmen som teoretisk er av orden O(N log N). Siden det finnes standard splitt og-hersk algoritmer for å finne Voronoi-diagrammet V D(P), kan vi også avlede Delaunay-trianguleringen fra V D(P) i O(N) tid. Vi skal se på en splitt-og-hersk algoritme for å finne Delaunay-trianguleringen direkte.
45 Rekursiv oppdeling av P ւ P = P 0 0 ց P 1 0 P 1 1 ւ ց ւ ց P0 2 P1 2 P2 2 P3 2 ւ ց ւ ց ւ ց ւ ց P 3 0 P 3 1 P 3 2 P 3 3 P 3 4 P 3 5 P 3 6 P 3 7
46 0 0 = (P) {}}{ { }} { { }} { { }} { { }} { { }} { { }} {
47 Løsning 1 Sorterer punktsettet P leksikografisk på X og Y : p i = (x i,y i ) < (x j,y j ) = p j x i < x j, eller x i = x j og y i < y j. 2 Deler opp P rekursivt i punktsett P 1,...,P N slik at hvert P i inneholder noen få punkter. N er et partall. 3 Lag Delaunay-trianguleringer (P 1 ),..., (P N ). 4 Sy sammen ( merge ) to og to nabo-trianguleringer (P L ) og (P R ) til (P L P R ). Step 3 og 4 gjøres rekursivt til vi har en Delaunay-triangulering (P). Vi skal se nærmere på step 4.
48 (a) e u (b) p p R p L e b
49 (a) e u (b) p p R p L e b Gitt (P L ) og (P R ), finn (P L P R ): 1 Finn ConvHull(P L P R ). Siden ConvHull(P L ) og ConvHull(P R ) er funnet, kan dette gjøres i (max) O(N) tid ved å finne e b og e u ; figur (a). 2 Start sammensying ved e b : Finn punktet p fra (P L ) eller (P R ) som danner en Delaunay-trekant med e b. Bruk en voksende sirkel slik som i steg-for-steg algoritmen. t pl,p R,p i figur (a) er nå en Delaunay-trekant i (P L P R ) følge Teorem ( ). Sidekanter i (P L ) og (P R ) som skjerer t pl,p R,p fjernes. Sett e b til den nye sidekanten og repeter helt til e u nås. 3 (P L P R ) er nå Delaunay siden ingen punkter i {P L P R } er innenfor en omskrevet sirkel til en trekant i (P L P R ).
50 Tidsforbruk for splitt-og-hersk (teoretisk). La t(n) = tidsforbruk for Delaunay-triangulering av N punkter. Sammensyingen av (P L ) og (P R ) er av orden O(N): M(N/2,N/2) er tidsforbruk for å sy sammen (P L ) og (P R ) hver med N/2 noder. Siden M(N/2,N/2) er lineær i tid er 2M(N/4,N/4) = M(N/2,N/2). Vi får følgende rekursjons-formel: t(n) = 2t(N/2) + M(N/2,N/2) t(1) = 0 Vi skal nå se at dette vil gi t(n) = O(N log N). Viktig: I praksis er splitt-og-hersk-algoritmen ikke nødvendigvis raskere enn andre algoritmer selv om den (teoretisk) er den eneste som er O(N log N).
51 Bevis for O(N log N) Anta at P ble delt inn i 2 k subsett: t(n) = 2t(N/2) + M(N/2,N/2) = 2(2t(N/4) + M(N/4,N/4)) + M(N/2,N/2) = 4t(N/4) + 2M(N/2,N/2) (bruker 2M(N/4,N/4) = M(N = 8t(N/8) + 3M(N/2,N/2) = 16t(N/16) + 4M(N/2, N/2) = = 2 k t(n/2 k ) + km(n/2,n/2).
52 t(n) = 2 k t(n/2 k ) + km(n/2,n/2). Anta at totalt antall punkter er N = 2 m Hvis N er stor og k er stor er m k Fra tidligere: worst-case for Delaunay-triangulering er O(N 2 ). 1. ledd er av orden: 2 k (N/2 k ) 2 = 2 k (2 m /2 k ) 2 = 2 2m k 2 m (siden m k) = N; dvs. O(N) 2. ledd er av orden: M(N/2,N/2) er O(N): kn mn, men m = log 2 N (siden N = 2 m ); dvs. N log 2 N eller O(N log N)
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
DetaljerINF-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
DetaljerINF-MAT5370. Trianguleringer i planet (Preliminaries)
INF-MAT5370 Trianguleringer i planet (Preliminaries) Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no August 23, 2009 Innhold Notasjon og terminologi Graf-egenskaper
DetaljerTrianguleringer 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
DetaljerINF-MAT5370. Grafer og datastrukturer
INF-MAT5370 Grafer og datastrukturer Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no August 3, 2009 Innhold Kort om grafer Topologiske operatorer og operasjoner,
DetaljerObligatoriske 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
DetaljerData-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),
DetaljerINF 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
DetaljerINF2220: 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
Detaljerkap. 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.
DetaljerTrianguleringer 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Øvingsforelesning 3: Splitt og hersk. Daniel Solberg
Øvingsforelesning 3: Splitt og hersk Daniel Solberg Plan for dagen Vi går raskt gjennom øving 2 Splitt og hersk Algoritmer: Mergesort Quicksort Binærsøk Rekurrenser, masse rekurrenser 2 Splitt og hersk
DetaljerTo geometriske algoritmer, kap. 8.6
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
DetaljerINF2220: 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
DetaljerHvor 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
DetaljerSorteringsproblemet. 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
DetaljerLogaritmiske 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
DetaljerINF2220: 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
DetaljerINF2220: 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
DetaljerINF 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
DetaljerRekursiv 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
DetaljerOppgave 1 LØSNINGSFORSLAG. Eksamen i INF desember Betrakt følgende vektede, urettede graf:
INF100 Algoritmer og datastrukturer INF100 Algoritmer og datastrukturer Oppgave 1 LØSNINGSFORSLAG Betrakt følgende vektede, urettede graf: V 1 V Eksamen i INF100 1. desember 004 V V 4 V 4 V V Ragnar Normann
DetaljerLO118D 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
DetaljerRekursiv 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
DetaljerDivide-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
DetaljerINF 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.
DetaljerLO118D 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
DetaljerVisualisering 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
DetaljerAlgoritmer og Datastrukturer IAI 21899
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt
DetaljerINF2220: 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Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy
Øvingsforelesning 6 Sorteringsalgoritmer Kristian Veøy veoy@stud.ntnu.no 26.09.08 1 Spørsmål fra øvingsgruppene Må jeg kunne python på eksamen? (Nei) Er det lurt å gjøre alle programmeringsøvingene? (Ikke
DetaljerØ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
DetaljerTDT4105 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
DetaljerINF2220: 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)
DetaljerLø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
DetaljerAvsluttende 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.
DetaljerPG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering
PG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering Lars Sydnes, NITH 22.januar 2014 I. Rekursjon commons.wikimedia.org Rekursjon i naturen En gren er et tre som sitter fast på et tre.
DetaljerAlgoritmer 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
DetaljerEKSAMEN med løsningsforslag
EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:
DetaljerHva 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
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 7. desember, 06 Eksamenstid
DetaljerQuicksort. Lars Vidar Magnusson Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort
Quicksort Lars Vidar Magnusson 29.1.2014 Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort Om Quicksort Quicksort er en svært populær sorteringsalgoritme. Algoritmen har i verstefall en kjøretid
DetaljerComputational Geometry
Computational Geometry Grafisk Databehandling 1. Convex hull konveks innhyling 2. Nærmeste par av punkter Convex hull La P være en mengde punkter i et k-dimensjonalt rom, P R k. (Vi skal for enkelthets
DetaljerGrådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder
Grådige Algoritmer Lars Vidar Magnusson 12.3.2014 Kapittel 16 Grådige algoritmer Aktivitetvelgingsproblemet Huffmankoder Ideen bak Grådige Algoritmer Ideen bak grådige algoritmer er å løse optimaliseringsproblem
DetaljerDisjunkte 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
DetaljerLø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
DetaljerAlgoritmer 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.
DetaljerKap.8 Sortering og søking sist oppdatert 16.03
Kap.8 Sortering og søking sist oppdatert 16.03 Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse Del 2 Sortering - gamle sorteringsmetoder fra i høst - nye -analyse Copyright
DetaljerFø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
DetaljerEKSAMEN. 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
DetaljerFig1. 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
DetaljerHeapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer
Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk
DetaljerUke 12 inf2440 v2018. Eric Jul PSE-gruppa Ifi, UiO
Uke 12 inf2440 v2018 Eric Jul PSE-gruppa Ifi, UiO Oblig 5 veiledning, 2018 i dag, den sekvensielle løsninga. Den konvekse innhyllinga til n punkter Oblig 4 Hva er det, definisjon Hvordan ser den ut Hva
DetaljerFra 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
DetaljerHvorfor 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
DetaljerKjøretidsanalyse. Hogne Jørgensen
Kjøretidsanalyse Hogne Jørgensen Program Presentasjon/tips til Øving 5 Kompleksitetsanalyse Kahoot Rekurrensligninger Kahoot 2 Øving 5 Veibygging i Ogligogo Finne dyreste kant i minimalt spenntre Prim
DetaljerALGORITMER 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
DetaljerMatchinger 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
DetaljerLæringsmål og pensum. Algoritmeeffektivitet
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå
DetaljerUNIVERSITETET 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.
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå
DetaljerNy/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 5. januar 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerSø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
DetaljerEkstra 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
DetaljerOm Kurset og Analyse av Algoritmer
Om Kurset og Analyse av Algoritmer Lars Vidar Magnusson 8.1.2014 Praktisk informasjon om kurset Hva er en algoritme? (kapittel 1) Hvordan analysere en algoritme? (kapittel 2) Praktisk Informasjon Introduction
DetaljerTMA4140 Diskret Matematikk Høst 2016
Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag TMA4140 Diskret Matematikk Høst 2016 Seksjon 10.2 18 La G = (V,E) være en enkel graf med V 2. Ettersom G er enkel er de mulige
DetaljerDatastrukturer 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
DetaljerINF 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
DetaljerDijkstras 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
DetaljerPython: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer
Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå, og kunne bruke, algoritmer
Detaljerη = 2x 1 + x 2 + x 3 x 1 + x 2 + x 3 + 2x 4 3 x x 3 4 2x 1 + x 3 + 5x 4 1 w 1 =3 x 1 x 2 x 3 2x 4 w 2 =4 x 1 x 3 w 3 =1 2x 1 x 3 5x 4
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MA-IN-ST 233 Konveksitet og optimering Eksamensdag: 31. mai 2000 Tid for eksamen: 9.00 13.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerAlgoritmer 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
DetaljerLøsnings forslag i java In115, Våren 1999
Løsnings forslag i java In115, Våren 1999 Oppgave 1a Input sekvensen er: 9, 3, 1, 3, 4, 5, 1, 6, 4, 1, 2 Etter sortering av det første, midterste og siste elementet, har vi følgende: 2, 3, 1, 3, 4, 1,
DetaljerLøsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl
Student nr.: Side 1 av 7 Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:
DetaljerHØGSKOLEN I BERGEN Avdeling for ingeniørutdanning
HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning EKSAMEN I KLASSE LVD525 Videregående algoritmer : 3DA og 3DB DATO :. april 2005 ANTALL OPPGAVER : 4 ANTALL SIDER : 4 VEDLEGG : side HJELPEMIDLER : ingen
DetaljerIN Algoritmer og datastrukturer
IN010 - Algoritmer og datastrukturer HØSTEN 018 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer III Ingrid Chieh Yu (Ifi, UiO) IN010 0.10.018 1 / 0 Dagens plan: Dybde-først søk Biconnectivity
DetaljerBinæ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(?):
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerAlgoritmer og datastrukturer Løsningsforslag
1 Algoritmer og datastrukturer Løsningsforslag Eksamen 29. november 2011 Oppgave 1A Verdien til variabelen m blir lik posisjonen til den «minste»verdien i tabellen, dvs. bokstaven A, og det blir 6. Oppgave
DetaljerGrunnleggende Datastrukturer
Grunnleggende Datastrukturer Lars Vidar Magnusson 7.2.2014 Kapittel 10 Stakker og køer Lenkede lister Pekere og objekter Trerepresentasjoner Datastrukturer Vi er i gang med tredje del av kurset hvor vi
Detaljer12 Projeksjon TMA4110 høsten 2018
Projeksjon TMA0 høsten 08 En projeksjon er en lineærtransformasjon P som tilfredsstiller P x = P x for alle x Denne ligningen sier at intet nytt skjer om du benytter lineærtransformasjonen for andre gang,
DetaljerEKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 28. mai 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerINF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/ , (lille aud.)
Oppgave 1 Uavgjørbarhet INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/12-2005, 14.15 (lille aud.) L = {(M 1, M 2 ) M 1 og M 2 er Turingmaskiner som er ekvivalente, dvs. gir samme output for samme
DetaljerEksamen 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:
DetaljerHeap* 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
DetaljerAlgoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1
Delkapittel 2.1 Plangeometriske algoritmer Side 1 av 7 Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1 2.1 Punkter, linjesegmenter og polygoner 2.1.1 Polygoner og internett HTML-sider kan ha
DetaljerGrunnleggende 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
DetaljerRepetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive
DetaljerDagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:
DetaljerINF2220: Time 4 - Heap, Huffmann
INF0: Time 4 - Heap, Huffmann Mathias Lohne mathialo Heap (prioritetskø) En heap (også kalt prioritetskø) er en type binært tre med noen spesielle struktur- og ordningskrav. Vi har to typer heap: min-
DetaljerDynamisk 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 å
DetaljerBinæ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
Detaljern/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?
Detaljerdeeegimnoorrrsstt 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
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Roger Antonsen - 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) Introduksjon Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt rundt oss!
DetaljerDefinisjon 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
DetaljerHeap og prioritetskø. Marjory the Trash Heap fra Fraggle Rock
Heap og prioritetskø Marjory the Trash Heap fra Fraggle Rock 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
DetaljerLØ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
Detaljer6 Determinanter TMA4110 høsten 2018
6 Determinanter TMA4110 høsten 2018 En matrise inneholder mange tall og dermed mye informasjon så mye at det kan være litt overveldende Vi kan kondensere ned all informasjonen i en kvadratisk matrise til
DetaljerIN Algoritmer og datastrukturer
IN00 - Algoritmer og datastrukturer HØSTEN 08 Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer II Ingrid Chieh Yu (Ifi, UiO) IN00 8.09.08 / Dagens plan: Korteste vei en-til-alle vektet
Detaljer