INF Algoritmer og datastrukturer

Like dokumenter
IN Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

IN Algoritmer og datastrukturer

Korteste vei i en vektet graf uten negative kanter

INF1020 Algoritmer og datastrukturer GRAFER

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

Øvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan

IN Algoritmer og datastrukturer

GRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6

UNIVERSITETET I OSLO

O, what a tangled. Fjerde forelesning. Robot-eksemplet som ikke ble gjennomgått sist blir frivillig selvstudium (ut fra foilene :-)

INF Algoritmer og datastrukturer

Minimum spenntrær. Lars Vidar Magnusson Kapittel 23. Kruskal Prim

INF Algoritmer og datastrukturer

Innledning Grafer. Grafer / Nettverk. Hva er en graf? Hva er en graf? Eksempler på grafer? Hva er en graf? Elementære Graf-Algoritmer

INF Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Grunnleggende Grafteori

PG4200 Algoritmer og datastrukturer Forelesning 10

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

IN2010: Algoritmer og Datastrukturer Series 2

INF Algoritmer og datastrukturer

Grunnleggende Grafalgoritmer III

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

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

Minimum Spenntrær - Kruskal & Prim

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Vi skal se på grafalgoritmer for:

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Algdat - øvingsforelesning

INF Algoritmer og datastrukturer

En litt annen måte å forklare traversering på. Traversering

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

MAT1030 Forelesning 22

UNIVERSITETET I OSLO

Anvendelser av grafer

Notater til INF2220 Eksamen

INF Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

O, what a tangled. Fjerde forelesning. O, what a tangled web we weave / When first we practice to deceive! Sir Walter Scott, *Marmion*

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

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

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

Grunnleggende Grafalgoritmer II

IN Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Uretta grafar (1) Mengde nodar Mengde kantar som er eit uordna par av nodar

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing

Løsningsforslag for utvalgte oppgaver fra kapittel 9

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.

Vi skal se på grafalgoritmer for:

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

Grunnleggende Grafalgoritmer

Object [] element. array. int [] tall

MAT1030 Diskret matematikk

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Forelesning 23: Grafteori

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Øvingsforelesning 7. Dijkstras algoritme. Foiler: Fredrik Ludvigsen Foreleser: Jon Marius Venstad 10/4/09 1

MAT1030 Forelesning 22

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

Oppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf

Innhold. Innledning 1

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

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

Generelle Tips. INF Algoritmer og datastrukturer. Åpen og Lukket Hashing. Hashfunksjoner. Du blir bedømt etter hva du viser at du kan

Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

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

Sensorveiledning/løsningsforslag IN2010/INF2220 Algoritmer og datastrukturer H2018 Ragnhild Kobro Runde, Stein Michael Storleer, Ingrid Chieh Yu

Innledning. IN2010/INF Algoritmer og datastrukturer. Tirsdag 27. november 2018 Kl (4 timer)

UNIVERSITETET I OSLO

Algdat Eksamensforelesning. Nils Barlaug

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

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

Forelesning 23. Grafteori. Dag Normann april Oppsummering. Oppsummering. Oppsummering. Digresjon: Firefarveproblemet

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

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

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

Magnus Moan (Undertegnede) Enkle datastrukturer, trær, traversering og rekursjon

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

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

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

INF1020 Algoritmer og datastrukturer GRAFER

UNIVERSITETET I OSLO

Transkript:

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 søk iconnectivity Strongly connected components Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 2 / 28

ra siste forelesning: Lemma (Løkke-lemma for spenntrær) nta at U er et spenntre for en graf, og at kanten e ikke er med i treet U Hvis vi legger kanten e til treet U, dannes en entydig bestemt enkel løkke. Hvis vi fjerner en vilkårlig kant i denne løkken, vil vi igjen ha et spenntre for grafen Invariant et treet T som dannes av de kantene (og deres endenoder) vi til nå har plukket ut, er slik at det finnes et minimalt spenntre U for grafen som inneholder (alle kantene i) T Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 3 / 28

evis med motsigelse La (u, v) være den kanten med lavest vekt fra U til V-U. Påstå: (u, v) er en del av MST for Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 4 / 28

ybde-først søk

ybde-først søk v o i d dybdeørstsøk ( Node v ) { v. merke = t r u e ; f o r < h v e r nabo w t i l v > { i f (! w. merke ) { dybdeørstsøk (w ) ; } } } Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 6 / 28

S vs S ybde-først søk Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 7 / 28

S vs S ybde-først søk Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 8 / 28

S vs S ybde-først søk Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 9 / 28

ybde-først søk ybde-først-spenntre for urettet sammenhengende grafer huske back-pointers Ulike type kanter gitt en bestemt kjøring av dfs 1 tree edges 2 back edges Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 10 / 28

ybde-først søk S, urettet graf (1) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (2) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (3) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (4) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (5) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (6) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (7) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (8) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (9) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (10) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (11) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (12) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (13) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (14) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S, urettet graf (15) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 11 / 28

ybde-først søk S: adding visiting time (1) 1 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (2) 2 1 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (3) 2 1 3 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (4) 2 1 3 4 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (5) 2 1 3 4 5 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (6) 2 1 6 3 4 5 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (7) 2 1 6 3 4 5 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (8) 2 1 6 3 4 5 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

ybde-først søk S: adding visiting time (9) 2 1 6 3 4 7 5 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 12 / 28

iconnectivity

iconnectivity iconnectivity efinition n sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. genskapen ved biconnectede grafer: et er to disjunkte stier mellom hvilke to noder som helst..eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. Viktig å identifisere disse nodene. Single point to failure! Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 14 / 28

iconnectivity iconnectivity efinition n sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. genskapen ved biconnectede grafer: et er to disjunkte stier mellom hvilke to noder som helst..eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. Viktig å identifisere disse nodene. Single point to failure! Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 14 / 28

iconnectivity iconnectivity efinition n sammenhengende urettet graf er bi-connected hvis det ikke er noen noder som ved fjerning gjør at grafen blir ikke sammenhengende. Slik node heter cut-vertices eller articulation point. genskapen ved biconnectede grafer: et er to disjunkte stier mellom hvilke to noder som helst..eks. Nettverk-feiltoleranse: dersom en ruter går ned, finnes det alltid en alternativ vei å rute datapakkene på. Viktig å identifisere disse nodene. Single point to failure! Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 14 / 28

iconnectivity r grafen bi-connected? 1. S-spenntre Konstruer et dfs spenntre fra en node v av 2 1 lle kantene (v, w) i er representert i treet som enten en tree edge eller som en back edge 3 4 Nummerer nodene når vi besøker dem 7 5 6 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 15 / 28

iconnectivity r grafen bi-connected? 2. Low-number for hver node i treet: beregn low-nummeret 2 1 1 1 laveste noden som kan nås ved å ta 0 eller flere tree edge etterfulgt av 0 eller 1 back edge ette gjør vi like før vi trekker oss tilbake (idet vi er ferdig med kallet) note: på dette tidspunktet har funnet low for alle barna til noden 7 7 3 1 5 4 4 1 6 4 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 15 / 28

iconnectivity r grafen bi-connected? 3. ut-vertex n node v er en cutvertex i hvis: 1 v er rotnoden av S -treet og har to eller flere tree edges 2 v ikke er rotnoden av S og det finnes en tree edge (v, w) slik at low(w) num(v) 7 7 3 1 2 1 5 4 1 1 4 1 6 4 Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 15 / 28

Rot iconnectivity root Roten av S-treet er en cutvertex hvis den har to eller flere utgående tree edges. tilbaketrekking må gå gjennom rooten for å komme fra den ene til den andre sub-treet. Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 16 / 28

Rot iconnectivity root Roten av S-treet er en cutvertex hvis den har to eller flere utgående tree edges. tilbaketrekking må gå gjennom rooten for å komme fra den ene til den andre sub-treet. Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 16 / 28

Ikke-rot node iconnectivity t ikke-rot node v er en cutvertex hvis den har et barn w slik at ingen back edge som starter i subtreet av w når en predesessornode til v. root Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 17 / 28

Ikke-rot node iconnectivity t ikke-rot node v er en cutvertex hvis den har et barn w slik at ingen back edge som starter i subtreet av w når en predesessornode til v. w v root Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 17 / 28

iconnectivity v o i d d f s ( v ) { v. num = c o u n t e r ++; // v. s t a t u s = v i s i t e d ; // I am v i s i t i n g now f o r each w a d j a c e n t to v i f w. s t a t u s v i s i t e d w. p a r e n t = v ; // remember p a r e n t d f s (w) // r e c u r } Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 18 / 28

iconnectivity v o i d a s s i g n l o w ( Node v ) { v. low = v. num ; // at l e a s t num f o r each w a d j a c e n t to v { // n e i g h b o r s i n! i f (w. num > v. num) // f o r w a r d edge { a s s i g n l o w (w ) ; i f (w. low v. num) system. out. p r i n t l n ( v + an a r t i c u l a t i o n p o i n t! ) ; v. low = min ( v. low, w. low ) ; } } } e l s e // w. num v. num i f ( v. p a r e n t w) // back edge v. low = min ( v. low, w. num ) ; test for root not shown the two traversals (dfs + assignlow) can be combined into 1 pass. Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 19 / 28

Strongly onnected omponents

Strongly onnected omponents rettet graf & S n rettet graf er sterkt sammenhengende hvis og bare hvis vi fra hver eneste node v klarer å besøke alle de andre nodene i grafen ved et dybde-først søk fra v Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 21 / 28

Strongly onnected omponents Strongly onnected omponents (S) partisjonere i såkalt strongly connected components efinition (S) itt en rettet graf = (V, ). n strongly connected component av er en maksimal sett av noder U V s.t.: for alle u 1, u 2 U vi har at u 1 u 2 and u 2 u 1. Ide: og t har den samme S s = bruk dfs 2 ganger, en gang på og en gang på den reverserte grafen 1 t kompleksitet: lineær tid O( + V ) 1 itt = (V, ) da er t = (V, t ) hvor (v, u) t iff (u, v) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 22 / 28

Strongly onnected omponents Strongly onnected omponents (S) partisjonere i såkalt strongly connected components efinition (S) itt en rettet graf = (V, ). n strongly connected component av er en maksimal sett av noder U V s.t.: for alle u 1, u 2 U vi har at u 1 u 2 and u 2 u 1. Ide: og t har den samme S s = bruk dfs 2 ganger, en gang på og en gang på den reverserte grafen 1 t kompleksitet: lineær tid O( + V ) 1 itt = (V, ) da er t = (V, t ) hvor (v, u) t iff (u, v) Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 22 / 28

S Strongly onnected omponents 1. S på 1 gjør S traversering 2 husker post-order (finished time stamp) H J I Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 23 / 28

S Strongly onnected omponents 1. S på 1 gjør S traversering 2 husker post-order (finished time stamp) H J I Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 23 / 28

S Strongly onnected omponents 3 6 5 1. S på 1 gjør S traversering 2 husker post-order (finished time stamp) 2 4 9 H 8 J 1 10 7 I Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 23 / 28

S Strongly onnected omponents 2. Reversere reversere kantene til og får t 3. S på t iterere S på t i avtagende rekkefølger! Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 23 / 28

Strongly onnected omponents ndre fase (1) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (2) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (3) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (4) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (5) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (6) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (7) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (8) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (9) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (10) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (11) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (12) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (13) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (14) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (15) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (16) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (17) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (18) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }, {,,, }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (19) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }, {,,, }} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (20) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }, {,,, }, {}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (21) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }, {,,, }, {}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

Strongly onnected omponents ndre fase (22) 3 6 5 2 4 9 H 8 J 1 10 7 I strongly connected components: {{}, {H, J, I }, {,,, }, {}, {}} Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 24 / 28

rgument Strongly onnected omponents Trenger å vise v og w er i den samme S treet av t. a har vi v w v Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 25 / 28

rgument Strongly onnected omponents Trenger å vise La x være roten av en dfs tre av t og 2 noder v og w i det samme treet av t. a har vi at x v x and x w x x er en rot x v in t v x in x har høyere post-order nummer enn v x ble ferdig senere enn v i den første dybde-først traversering av v må være en etterkommer av x ellers vil v bli ferdig etter x. x v Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 25 / 28

Oppsummering

Oppsummering rafer: Oppsummering Implementasjon av grafer Topologisk sortering Korteste vei, uvektet graf ijkstras alg. (korteste vei, vektet graf) Prim, Kruskal (minimale spenntrær) ybde-først søk biconnectivity, S Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 27 / 28

Oppsummering Neste forelesning: 12. oktober Kombinatorisk søk og Kompleksitet Ingrid hieh Yu (Ifi, UiO) IN2220 05.10.2016 28 / 28