Kap 10 Graf Definisjon av graf En graf
![Kap 10 Graf Kap 10 Graf](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-1.jpg)
![Definisjon av graf En graf G er en ordnet mengde G = (V, E) Definisjon av graf En graf G er en ordnet mengde G = (V, E)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-2.jpg)
![Ordnet graf Grafen kalles ordnet hvis hvert element e i E er gitt ved Ordnet graf Grafen kalles ordnet hvis hvert element e i E er gitt ved](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-3.jpg)
![Endepunkter / Naboer Anta at e = [u, v]. u og v kalles da Endepunkter / Naboer Anta at e = [u, v]. u og v kalles da](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-4.jpg)
![Grad Med graden til u deg(u) mener vi antall elementer e i E som Grad Med graden til u deg(u) mener vi antall elementer e i E som](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-5.jpg)
![Isolert punkt u kalles for et isolert punkt hvis deg(u) = 0 Isolert punkt u kalles for et isolert punkt hvis deg(u) = 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-6.jpg)
![Utgrad / Inngrad La G = (V, E) være en ordnet graf og la Utgrad / Inngrad La G = (V, E) være en ordnet graf og la](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-7.jpg)
![Vei P av lengde n Med en vei (path) P av lengde n, Len(P) Vei P av lengde n Med en vei (path) P av lengde n, Len(P)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-8.jpg)
![Lukket vei Veien P sies å være lukket hvis vn = v 0. Lukket vei Veien P sies å være lukket hvis vn = v 0.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-9.jpg)
![Enkel vei Veien P sies å være enkel hvis alle vi er ulike med Enkel vei Veien P sies å være enkel hvis alle vi er ulike med](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-10.jpg)
![Syklus En syklus er en lukket enkel vei P med Len(P) >= 3. En Syklus En syklus er en lukket enkel vei P med Len(P) >= 3. En](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-11.jpg)
![Sammenhengende graf En graf G = (V, E) kalles sammenhengende (connected) hvis det for Sammenhengende graf En graf G = (V, E) kalles sammenhengende (connected) hvis det for](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-12.jpg)
![Komplett graf En graf G = (V, E) kalles komplett hvis hvert punkt u Komplett graf En graf G = (V, E) kalles komplett hvis hvert punkt u](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-13.jpg)
![Tre En sammenhengende graf G uten sykluser kalles et tre. Tre En sammenhengende graf G uten sykluser kalles et tre.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-14.jpg)
![Labeled graf En graf G = (V, E) kalles labeled hvis det til en Labeled graf En graf G = (V, E) kalles labeled hvis det til en](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-15.jpg)
![Vektgraf En graf G = (V, E) en vektgraf hvis det til hver kant Vektgraf En graf G = (V, E) en vektgraf hvis det til hver kant](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-16.jpg)
![Multiple kanter Ulike kanter e 1 og e 2 kalles multiple kanter hvis de Multiple kanter Ulike kanter e 1 og e 2 kalles multiple kanter hvis de](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-17.jpg)
![Loop En kant kalles en loop hvis den har identiske endepunkter e = [u, Loop En kant kalles en loop hvis den har identiske endepunkter e = [u,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-18.jpg)
![Multigraf Med en multigraf mener vi en graf som kan inneholde loops og/eller multiple Multigraf Med en multigraf mener vi en graf som kan inneholde loops og/eller multiple](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-19.jpg)
![Rettet graf Med en rettet graf mener vi en ordnet multigraf. Rettet graf Med en rettet graf mener vi en ordnet multigraf.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-20.jpg)
![Implementering av graf Ulike implementeringer av en graf: - Nabo-matrise - Vekt-matrise - Lenket Implementering av graf Ulike implementeringer av en graf: - Nabo-matrise - Vekt-matrise - Lenket](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-21.jpg)
![Nabo-matrise La G = (V, E) være en graf. La V inneholde n punkter Nabo-matrise La G = (V, E) være en graf. La V inneholde n punkter](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-22.jpg)
![Nabo-matrise for uordnet graf Graf Nabo-matrise A = a b c d e 0 Nabo-matrise for uordnet graf Graf Nabo-matrise A = a b c d e 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-23.jpg)
![Nabo-matrise for ordnet graf Graf Nabo-matrise A = a b c d e 0 Nabo-matrise for ordnet graf Graf Nabo-matrise A = a b c d e 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-24.jpg)
![Beregning av antall veier av gitt lengde Teorem: La A = (aij) være nabo-matrisen Beregning av antall veier av gitt lengde Teorem: La A = (aij) være nabo-matrisen](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-25.jpg)
![Beregning av antall veier av gitt lengde Graf Nabo-matrise A A 2 = 0 Beregning av antall veier av gitt lengde Graf Nabo-matrise A A 2 = 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-26.jpg)
![Beregning av antall veier mellom to punkter AK angir antall veier av lengde K Beregning av antall veier mellom to punkter AK angir antall veier av lengde K](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-27.jpg)
![Vei-matrise En vei-matrise P = (pij) defineres ved følgende: Herav får vi ( Bn Vei-matrise En vei-matrise P = (pij) defineres ved følgende: Herav får vi ( Bn](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-28.jpg)
![Antall veier av gitt lengde - Algoritme ant. Vei (A, n, p 1, p Antall veier av gitt lengde - Algoritme ant. Vei (A, n, p 1, p](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-29.jpg)
![Vei-eksistens - Algoritme 1 Vei_Eksistens (A, n, p 1, p 2, eksist) /* Finner Vei-eksistens - Algoritme 1 Vei_Eksistens (A, n, p 1, p 2, eksist) /* Finner](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-30.jpg)
![Vei-eksistens - Warsalls algoritme Vi definerer en sekvens av boolske n * n matriser Vei-eksistens - Warsalls algoritme Vi definerer en sekvens av boolske n * n matriser](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-31.jpg)
![Vei-eksistens - Algoritme 2 vei_Matrise_P (A, n, P) /* Bestemmelse av veimatrisen P /* Vei-eksistens - Algoritme 2 vei_Matrise_P (A, n, P) /* Bestemmelse av veimatrisen P /*](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-32.jpg)
![Gjennomløping av en graf Dybde først gjennomløp Bredde først gjennomløp Dybde først gjennomløp kan Gjennomløping av en graf Dybde først gjennomløp Bredde først gjennomløp Dybde først gjennomløp kan](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-33.jpg)
![Dybde først gjennomløp - Velg et startpunkt A. - Besøk en nabo til A. Dybde først gjennomløp - Velg et startpunkt A. - Besøk en nabo til A.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-34.jpg)
![Dybde først gjennomløp - Rekursjon dybde_Traversal (A, n, visit) sok. Fra(k) visit[k] : = Dybde først gjennomløp - Rekursjon dybde_Traversal (A, n, visit) sok. Fra(k) visit[k] : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-35.jpg)
![Bredde først gjennomløping - Velg et startpunkt A. - Besøk alle naboene til A Bredde først gjennomløping - Velg et startpunkt A. - Besøk alle naboene til A](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-36.jpg)
![Vekt-graf Vi skal se nærmere på en vekt-graf, dvs en graf hvor hver kant Vekt-graf Vi skal se nærmere på en vekt-graf, dvs en graf hvor hver kant](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-37.jpg)
![Vekt-matrise La G være en vekt-graf med n noder. La w(e) være vekten tilordnet Vekt-matrise La G være en vekt-graf med n noder. La w(e) være vekten tilordnet](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-38.jpg)
![Vekt-graf med tilhørende vekt-matrise Vekt-graf Vekt-matrise W = 1 2 3 4 5 0 Vekt-graf med tilhørende vekt-matrise Vekt-graf Vekt-matrise W = 1 2 3 4 5 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-39.jpg)
![Minimalisering ved gjennomløping av en graf Vi skal nå forsøke å besvare følgende to Minimalisering ved gjennomløping av en graf Vi skal nå forsøke å besvare følgende to](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-40.jpg)
![Minimum utspent tre - Alle punktene skal være med i treet - Den totale Minimum utspent tre - Alle punktene skal være med i treet - Den totale](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-41.jpg)
![Minimum utspent tre Korteste kant fra inkludert punkt til ikke-inkludert punkt: Begynner med et Minimum utspent tre Korteste kant fra inkludert punkt til ikke-inkludert punkt: Begynner med et](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-42.jpg)
![Korteste vei mellom to gitte punkter Hvordan skal vi finne korteste vei mellom to Korteste vei mellom to gitte punkter Hvordan skal vi finne korteste vei mellom to](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-43.jpg)
![Korteste vei mellom to gitte punkter Vekt-graf Vekt-matrise 7 W 5 = R S Korteste vei mellom to gitte punkter Vekt-graf Vekt-matrise 7 W 5 = R S](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-44.jpg)
![7 Korteste vei mellom to gitte punkter 5 7 Q 0 = 7 u 7 Korteste vei mellom to gitte punkter 5 7 Q 0 = 7 u](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-45.jpg)
![Korteste vei mellom to gitte punkter 7 min_Vei (w, q, n) u : = Korteste vei mellom to gitte punkter 7 min_Vei (w, q, n) u : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-46.jpg)
![Korteste-vei algoritme Dijkstra - Strategi / Algoritme Dijkstra (source, n) FOR v : = Korteste-vei algoritme Dijkstra - Strategi / Algoritme Dijkstra (source, n) FOR v : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-47.jpg)
![Korteste-vei algoritme Dijkstra - Eks 1 2 3 4 Dijkstra (source, n) FOR v Korteste-vei algoritme Dijkstra - Eks 1 2 3 4 Dijkstra (source, n) FOR v](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-48.jpg)
![Korteste-vei algoritme Dijkstra - Eks Init 1 2 3 4 Dijkstra (source, n) FOR Korteste-vei algoritme Dijkstra - Eks Init 1 2 3 4 Dijkstra (source, n) FOR](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-49.jpg)
![Korteste-vei algoritme Dijkstra - Eks Init source - Min Heap 1 2 3 4 Korteste-vei algoritme Dijkstra - Eks Init source - Min Heap 1 2 3 4](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-50.jpg)
![Korteste-vei algoritme Dijkstra - Eks Source 1 2 3 4 Dijkstra (source, n) FOR Korteste-vei algoritme Dijkstra - Eks Source 1 2 3 4 Dijkstra (source, n) FOR](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-51.jpg)
![Korteste-vei algoritme Dijkstra - Eks Nabo til node 4 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 4 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-52.jpg)
![Korteste-vei algoritme Dijkstra - Eks Nabo til node 3 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 3 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-53.jpg)
![Korteste-vei algoritme Dijkstra - Eks Nabo til node 1 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 1 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-54.jpg)
![Korteste-vei algoritme Dijkstra - Eks Nabo til node 2 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 2 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-55.jpg)
![Korteste-vei algoritme Dijkstra - Eks Gjennomløp av korteste vei 1 2 3 4 inf Korteste-vei algoritme Dijkstra - Eks Gjennomløp av korteste vei 1 2 3 4 inf](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-56.jpg)
![Lenket liste implementering av graf Graf Nabo-liste Punkt Kant-liste (Nabo-liste) A B C D Lenket liste implementering av graf Graf Nabo-liste Punkt Kant-liste (Nabo-liste) A B C D](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-57.jpg)
![Innsetting Start : PLed : KLed : Pkt : NPkt : FKant: Pkant: NKant: Innsetting Start : PLed : KLed : Pkt : NPkt : FKant: Pkant: NKant:](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-58.jpg)
![finn. Element (pkt, n. Pkt, start, post, lok) /* Søker etter posten med innhold finn. Element (pkt, n. Pkt, start, post, lok) /* Søker etter posten med innhold](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-59.jpg)
![finn. Kant(pkt, n. Pkt, f. Kant, p. Kant, n. Kant, start, post 1, post finn. Kant(pkt, n. Pkt, f. Kant, p. Kant, n. Kant, start, post 1, post](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-60.jpg)
![innsett. Punkt (pkt, n. Pkt, f. Kant, start, pled, post, full) /* Setter inn innsett. Punkt (pkt, n. Pkt, f. Kant, start, pled, post, full) /* Setter inn](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-61.jpg)
![Innsett_Kant innsett. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Innsett_Kant innsett. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-62.jpg)
![fjern. Element (info, neste, start, led, post, flag) null : = 0 flag : fjern. Element (info, neste, start, led, post, flag) null : = 0 flag :](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-63.jpg)
![fjern. Punkt (pkt, n. Pkt, f. Kant, start, p. Led, p. Kant, n. Kant, fjern. Punkt (pkt, n. Pkt, f. Kant, start, p. Led, p. Kant, n. Kant,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-64.jpg)
![fjern. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Led, fjern. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Led,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-65.jpg)
![Klassehierarki - Graf I_Comparable I_Container A_Object A_Container I_Vertex I_Edge I_Graph I_Di. Graph A_Graph. As. Klassehierarki - Graf I_Comparable I_Container A_Object A_Container I_Vertex I_Edge I_Graph I_Di. Graph A_Graph. As.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-66.jpg)
![Interface I_Vertex Interface I_Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-67.jpg)
![Interface I_Edge Interface I_Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-68.jpg)
![Interface I_Graph Interface I_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-69.jpg)
![Interface I_Graph Interface I_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-70.jpg)
![Abstrakt klasse A_Graph Abstrakt klasse A_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-71.jpg)
![A_Graph get. Number. Of. Vertices - get. Vertex A_Graph get. Number. Of. Vertices - get. Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-72.jpg)
![A_Graph get. Vertices A_Graph get. Vertices](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-73.jpg)
![A_Graph add. Vertex A_Graph add. Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-74.jpg)
![A_Graph get. Number. Of. Edges - get. Edge – get. Edges add. Edge - A_Graph get. Number. Of. Edges - get. Edge – get. Edges add. Edge -](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-75.jpg)
![A_Graph depth. First. Traversal A_Graph depth. First. Traversal](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-76.jpg)
![A_Graph breadth. First. Traversal A_Graph breadth. First. Traversal](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-77.jpg)
![A_Graph is. Directed A_Graph is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-78.jpg)
![A_Graph is. Connected: Finnes en vei mellom hvert par av noder. Starter i en A_Graph is. Connected: Finnes en vei mellom hvert par av noder. Starter i en](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-79.jpg)
![A_Graph is. Cyclic A_Graph is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-80.jpg)
![A_Graph get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges A_Graph get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-81.jpg)
![A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-82.jpg)
![A_Graph. Vertex get. Number - get. Weight A_Graph. Vertex get. Number - get. Weight](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-83.jpg)
![A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-84.jpg)
![A_Graph. Vertex compare. To A_Graph. Vertex compare. To](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-85.jpg)
![A_Graph. Edge get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges A_Graph. Edge get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-86.jpg)
![A_Graph. Edge get. V 1 - get. V 2 - get. Weight A_Graph. Edge get. V 1 - get. V 2 - get. Weight](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-87.jpg)
![A_Graph. Edge get. Connected. Vertex – is. Directed compare. To A_Graph. Edge get. Connected. Vertex – is. Directed compare. To](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-88.jpg)
![A_Graph. Counter A_Graph. Counter](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-89.jpg)
![Graph. As. Matrix Graph. As. Matrix](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-90.jpg)
![Graph. As. Matrix add. Edge Graph. As. Matrix add. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-91.jpg)
![Graph. As. Matrix get. Edge - is. Edge Graph. As. Matrix get. Edge - is. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-92.jpg)
![Graph. As. Matrix get. Edges Graph. As. Matrix get. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-93.jpg)
![Graph. As. Matrix get. Predecessors Graph. As. Matrix get. Predecessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-94.jpg)
![Graph. As. Matrix get. Sucessors Graph. As. Matrix get. Sucessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-95.jpg)
![Graph. As. Matrix get. Incident. Edges Graph. As. Matrix get. Incident. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-96.jpg)
![Graph. As. Matrix get. Emanating. Edges Graph. As. Matrix get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-97.jpg)
![Graph. As. List Graph. As. List](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-98.jpg)
![Graph. As. List add. Edge Graph. As. List add. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-99.jpg)
![Graph. As. List get. Edge Graph. As. List get. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-100.jpg)
![Graph. As. List is. Edge Graph. As. List is. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-101.jpg)
![Graph. As. List get. Edges (1/3) Graph. As. List get. Edges (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-102.jpg)
![Graph. As. List get. Edges (2/3) Graph. As. List get. Edges (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-103.jpg)
![Graph. As. List get. Edges (3/3) Graph. As. List get. Edges (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-104.jpg)
![Graph. As. List get. Predecessors (1/3) Graph. As. List get. Predecessors (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-105.jpg)
![Graph. As. List get. Predecessors (2/3) Graph. As. List get. Predecessors (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-106.jpg)
![Graph. As. List get. Predecessors (3/3) Graph. As. List get. Predecessors (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-107.jpg)
![Graph. As. List get. Sucessors Graph. As. List get. Sucessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-108.jpg)
![Graph. As. List get. Incident. Edges (1/3) Graph. As. List get. Incident. Edges (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-109.jpg)
![Graph. As. List get. Incident. Edges (2/3) Graph. As. List get. Incident. Edges (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-110.jpg)
![Graph. As. List get. Incident. Edges (3/3) Graph. As. List get. Incident. Edges (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-111.jpg)
![Graph. As. List get. Emanating. Edges Graph. As. List get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-112.jpg)
![Digraph. As. Matrix - add. Edge - is. Directed Digraph. As. Matrix - add. Edge - is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-113.jpg)
![Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-114.jpg)
![Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-115.jpg)
![Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-116.jpg)
![Digraph. As. Matrix is. Strongly. Connected Strongly connected: Finnes en vei mellom hvert par Digraph. As. Matrix is. Strongly. Connected Strongly connected: Finnes en vei mellom hvert par](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-117.jpg)
![Digraph. As. Matrix is. Cyclic Digraph. As. Matrix is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-118.jpg)
![Digraph. As. List - add. Edge - is. Directed Digraph. As. List - add. Edge - is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-119.jpg)
![Digraph. As. List S = {A, B, C, D, E, F} S = {A, Digraph. As. List S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-120.jpg)
![Digraph. As. List S = {A, B, C, D, E, F} S = {A, Digraph. As. List S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-121.jpg)
![Digraph. As. List is. Strongly. Connected Digraph. As. List is. Strongly. Connected](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-122.jpg)
![Digraph. As. List is. Cyclic Digraph. As. List is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-123.jpg)
![Test_Graph. As. Matrix (1/2) Test_Graph. As. Matrix (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-124.jpg)
![Test_Graph. As. Matrix (2/2) Test_Graph. As. Matrix (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-125.jpg)
![Test_Graph. As. List (1/5) Test_Graph. As. List (1/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-126.jpg)
![Test_Graph. As. List (2/5) Test_Graph. As. List (2/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-127.jpg)
![Test_Graph. As. List (3/5) Test_Graph. As. List (3/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-128.jpg)
![Test_Graph. As. List (4/5) Test_Graph. As. List (4/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-129.jpg)
![Test_Graph. As. List (5/5) Test_Graph. As. List (5/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-130.jpg)
![Test_Digraph. As. Matrix (1/2) Test_Digraph. As. Matrix (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-131.jpg)
![Test_Digraph. As. Matrix (2/2) Test_Digraph. As. Matrix (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-132.jpg)
![Test_Digraph. As. List (1/2) Test_Digraph. As. List (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-133.jpg)
![Test_Digraph. As. List (2/2) Test_Digraph. As. List (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-134.jpg)
![Kritisk vei-analyse 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring Kritisk vei-analyse 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-135.jpg)
![1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring av total 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring av total](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-136.jpg)
![3 0 Kritisk vei-analyse Earliest time: A 3 0 B 1 C 4 0 3 0 Kritisk vei-analyse Earliest time: A 3 0 B 1 C 4 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-137.jpg)
![END END](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-138.jpg)
- Slides: 138
![Kap 10 Graf Kap 10 Graf](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-1.jpg)
Kap 10 Graf
![Definisjon av graf En graf G er en ordnet mengde G V E Definisjon av graf En graf G er en ordnet mengde G = (V, E)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-2.jpg)
Definisjon av graf En graf G er en ordnet mengde G = (V, E) hvor - V er en mengde bestående av elementer kalt punkter / noder (vertics) - E er en mengde bestående av elementer kalt kanter (edges). Hvert element e i E er gitt ved et entydig uordnet par av punkter / noder e = [u, v]
![Ordnet graf Grafen kalles ordnet hvis hvert element e i E er gitt ved Ordnet graf Grafen kalles ordnet hvis hvert element e i E er gitt ved](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-3.jpg)
Ordnet graf Grafen kalles ordnet hvis hvert element e i E er gitt ved et ordnet par av punkter / noder e = (u, v)
![Endepunkter Naboer Anta at e u v u og v kalles da Endepunkter / Naboer Anta at e = [u, v]. u og v kalles da](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-4.jpg)
Endepunkter / Naboer Anta at e = [u, v]. u og v kalles da endepunkter til e. u og v sies også å være naboer (adjacent nodes).
![Grad Med graden til u degu mener vi antall elementer e i E som Grad Med graden til u deg(u) mener vi antall elementer e i E som](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-5.jpg)
Grad Med graden til u deg(u) mener vi antall elementer e i E som inneholder u.
![Isolert punkt u kalles for et isolert punkt hvis degu 0 Isolert punkt u kalles for et isolert punkt hvis deg(u) = 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-6.jpg)
Isolert punkt u kalles for et isolert punkt hvis deg(u) = 0
![Utgrad Inngrad La G V E være en ordnet graf og la Utgrad / Inngrad La G = (V, E) være en ordnet graf og la](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-7.jpg)
Utgrad / Inngrad La G = (V, E) være en ordnet graf og la u være et element (punkt) i V. Med utgraden til u outdeg(u) mener vi antall kanter som går ut fra u. Med inngraden til u indeg(u) mener vi antall kanter som går inn til u.
![Vei P av lengde n Med en vei path P av lengde n LenP Vei P av lengde n Med en vei (path) P av lengde n, Len(P)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-8.jpg)
Vei P av lengde n Med en vei (path) P av lengde n, Len(P) = n, mellom to punkter u og v mener vi en sekvens av n+1 punkter P = (v 0 , v 1 , v 2 , . . . . , vn) slik at u = v 0 v = vn vi-1 og vi er naboer for i = 1, 2, . . , n
![Lukket vei Veien P sies å være lukket hvis vn v 0 Lukket vei Veien P sies å være lukket hvis vn = v 0.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-9.jpg)
Lukket vei Veien P sies å være lukket hvis vn = v 0.
![Enkel vei Veien P sies å være enkel hvis alle vi er ulike med Enkel vei Veien P sies å være enkel hvis alle vi er ulike med](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-10.jpg)
Enkel vei Veien P sies å være enkel hvis alle vi er ulike med unntak av vn som kan være lik v 0.
![Syklus En syklus er en lukket enkel vei P med LenP 3 En Syklus En syklus er en lukket enkel vei P med Len(P) >= 3. En](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-11.jpg)
Syklus En syklus er en lukket enkel vei P med Len(P) >= 3. En syklus med lengde k kalles en k-syklus.
![Sammenhengende graf En graf G V E kalles sammenhengende connected hvis det for Sammenhengende graf En graf G = (V, E) kalles sammenhengende (connected) hvis det for](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-12.jpg)
Sammenhengende graf En graf G = (V, E) kalles sammenhengende (connected) hvis det for hvert par av punkter u og v i V finnes en vei P mellom dem.
![Komplett graf En graf G V E kalles komplett hvis hvert punkt u Komplett graf En graf G = (V, E) kalles komplett hvis hvert punkt u](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-13.jpg)
Komplett graf En graf G = (V, E) kalles komplett hvis hvert punkt u i V er nabo til et vilkårlig annet punkt v i V.
![Tre En sammenhengende graf G uten sykluser kalles et tre Tre En sammenhengende graf G uten sykluser kalles et tre.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-14.jpg)
Tre En sammenhengende graf G uten sykluser kalles et tre.
![Labeled graf En graf G V E kalles labeled hvis det til en Labeled graf En graf G = (V, E) kalles labeled hvis det til en](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-15.jpg)
Labeled graf En graf G = (V, E) kalles labeled hvis det til en eller flere kanter e i E er assosiert data.
![Vektgraf En graf G V E en vektgraf hvis det til hver kant Vektgraf En graf G = (V, E) en vektgraf hvis det til hver kant](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-16.jpg)
Vektgraf En graf G = (V, E) en vektgraf hvis det til hver kant e i E er assosiert et ikke-negativt tall w(e) kalt lengden av e. I et slikt tilfelle er hver vei P i G assosiert med en vekt w(P) som er lik summen av kantlengdene langs veien i P. 1 2 7 0
![Multiple kanter Ulike kanter e 1 og e 2 kalles multiple kanter hvis de Multiple kanter Ulike kanter e 1 og e 2 kalles multiple kanter hvis de](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-17.jpg)
Multiple kanter Ulike kanter e 1 og e 2 kalles multiple kanter hvis de forbinder de samme endepunktene e 1 = [u, v] og e 2 = [u, v].
![Loop En kant kalles en loop hvis den har identiske endepunkter e u Loop En kant kalles en loop hvis den har identiske endepunkter e = [u,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-18.jpg)
Loop En kant kalles en loop hvis den har identiske endepunkter e = [u, u].
![Multigraf Med en multigraf mener vi en graf som kan inneholde loops ogeller multiple Multigraf Med en multigraf mener vi en graf som kan inneholde loops og/eller multiple](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-19.jpg)
Multigraf Med en multigraf mener vi en graf som kan inneholde loops og/eller multiple kanter.
![Rettet graf Med en rettet graf mener vi en ordnet multigraf Rettet graf Med en rettet graf mener vi en ordnet multigraf.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-20.jpg)
Rettet graf Med en rettet graf mener vi en ordnet multigraf.
![Implementering av graf Ulike implementeringer av en graf Nabomatrise Vektmatrise Lenket Implementering av graf Ulike implementeringer av en graf: - Nabo-matrise - Vekt-matrise - Lenket](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-21.jpg)
Implementering av graf Ulike implementeringer av en graf: - Nabo-matrise - Vekt-matrise - Lenket liste
![Nabomatrise La G V E være en graf La V inneholde n punkter Nabo-matrise La G = (V, E) være en graf. La V inneholde n punkter](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-22.jpg)
Nabo-matrise La G = (V, E) være en graf. La V inneholde n punkter v 1, v 2, v 3, …, vn. Vi definerer n x n nabo-matrisen A = (aij) ved:
![Nabomatrise for uordnet graf Graf Nabomatrise A a b c d e 0 Nabo-matrise for uordnet graf Graf Nabo-matrise A = a b c d e 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-23.jpg)
Nabo-matrise for uordnet graf Graf Nabo-matrise A = a b c d e 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0 Utsagnet: Det finnes en e E slik at e = [vi, vj] er ekvivalent med utsagnet: Det finnes en e E slik at e = [vj, vi]. Herav følger at nabo-matrisen A er symmetrisk, dvs A = AT.
![Nabomatrise for ordnet graf Graf Nabomatrise A a b c d e 0 Nabo-matrise for ordnet graf Graf Nabo-matrise A = a b c d e 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-24.jpg)
Nabo-matrise for ordnet graf Graf Nabo-matrise A = a b c d e 0 0 1 1 0 0 0 0 0 1 0 0 0 0 Denne nabo-matrisen er ikke symmetrisk.
![Beregning av antall veier av gitt lengde Teorem La A aij være nabomatrisen Beregning av antall veier av gitt lengde Teorem: La A = (aij) være nabo-matrisen](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-25.jpg)
Beregning av antall veier av gitt lengde Teorem: La A = (aij) være nabo-matrisen til grafen G. La AK = (a(K)ij) vil da angi antall veier av lengde K mellom punktene i og j. Bevis: Teoremet er opplagt sant for K = 1. Anta at påstanden er sanne for K = R-1. Vi skal vise at da er påstanden sann for K = R. Vi har: Elementet a(R)ij i matrisen A fremkommer ved følgende: a(R-1)ik angir antall veier av lengde R-1 mellom i og k akj angir antall veier av lengde 1 mellom punktene k og j. Produktet vil da angi antall veier av lengde R som går fra i til j via k. Ved å summere dette produktet over alle punkter k, vil vi få totalt antall veier av lengde R mellom i og j.
![Beregning av antall veier av gitt lengde Graf Nabomatrise A A 2 0 Beregning av antall veier av gitt lengde Graf Nabo-matrise A A 2 = 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-26.jpg)
Beregning av antall veier av gitt lengde Graf Nabo-matrise A A 2 = 0 0 0 0 1 1 0 1 1 0 0 0 = 0 0 0 0 2 0 0 0 = 0 0 a b c d 0 0 1 0 0 0 1 1 0 0 0 Det går 2 veier med lengde 2 mellom punktene a og c.
![Beregning av antall veier mellom to punkter AK angir antall veier av lengde K Beregning av antall veier mellom to punkter AK angir antall veier av lengde K](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-27.jpg)
Beregning av antall veier mellom to punkter AK angir antall veier av lengde K mellom to punkter Br = A + A 2 + A 3 + … + A r angir antall veier av lengde r eller mindre mellom to punkter Bn angir antall veier mellom to punkter (n = antall punkter)
![Veimatrise En veimatrise P pij defineres ved følgende Herav får vi Bn Vei-matrise En vei-matrise P = (pij) defineres ved følgende: Herav får vi ( Bn](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-28.jpg)
Vei-matrise En vei-matrise P = (pij) defineres ved følgende: Herav får vi ( Bn = (bij) ):
![Antall veier av gitt lengde Algoritme ant Vei A n p 1 p Antall veier av gitt lengde - Algoritme ant. Vei (A, n, p 1, p](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-29.jpg)
Antall veier av gitt lengde - Algoritme ant. Vei (A, n, p 1, p 2, lengde) /* Finner antall veier med gitt lengde mellom to punkter. /* A : Nabo-matrisen /* n : Dimensjon til nabo-matrisen /* p 1 : Punkt nr 1 /* p 2 : Punkt nr 2 /* lengde : Gitt veilengde /* ant : Returnerer med antall veier med gitt lengde /* mellom punktene p 1 og p 2 power(A, n, lengde, k. Mat) return k. Mat(p 1, p 2) // beregner AK */ */
![Veieksistens Algoritme 1 VeiEksistens A n p 1 p 2 eksist Finner Vei-eksistens - Algoritme 1 Vei_Eksistens (A, n, p 1, p 2, eksist) /* Finner](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-30.jpg)
Vei-eksistens - Algoritme 1 Vei_Eksistens (A, n, p 1, p 2, eksist) /* Finner ut hvorvidt det eksisterer en vei mellom to gitt punkter. /* A : Nabo-matrisen /* n : Dimensjon til nabo-matrisen /* p 1 : Punkt nr 1 /* p 2 : Punkt nr 2 eksist : = False IF A(p 1, p 2) != 0 THEN eksist : = True ELSE k : = 2 WHILE (k <= n) AND (NOT eksist) DO power(A, n, k, k. Mat) IF k. Mat(p 1, p 2) != 0 THEN eksist : = True ELSE k : = k + 1 ENDIF ENDWHILE ENDIF Return eksist */ */ */
![Veieksistens Warsalls algoritme Vi definerer en sekvens av boolske n n matriser Vei-eksistens - Warsalls algoritme Vi definerer en sekvens av boolske n * n matriser](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-31.jpg)
Vei-eksistens - Warsalls algoritme Vi definerer en sekvens av boolske n * n matriser Pk (inneholder 0 eller 1) ved: Warsall oppdaget følgende:
![Veieksistens Algoritme 2 veiMatriseP A n P Bestemmelse av veimatrisen P Vei-eksistens - Algoritme 2 vei_Matrise_P (A, n, P) /* Bestemmelse av veimatrisen P /*](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-32.jpg)
Vei-eksistens - Algoritme 2 vei_Matrise_P (A, n, P) /* Bestemmelse av veimatrisen P /* A : Nabo-matrisen /* n : Dimensjon til A og P /* P : Vei-matrisen FOR i : = 1 TO n DO FOR j : = 1 TO n DO P[i, j] : = A[i, j] ENDFOR */ */ // initiering av P FOR k : = 1 TO n DO FOR i : = 1 TO n DO FOR j : = 1 TO n DO P[i, j] : = P[i, j] v (P[i, k] ^ P[k, j]) ENDFOR P=A // oppdatering av P
![Gjennomløping av en graf Dybde først gjennomløp Bredde først gjennomløp Dybde først gjennomløp kan Gjennomløping av en graf Dybde først gjennomløp Bredde først gjennomløp Dybde først gjennomløp kan](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-33.jpg)
Gjennomløping av en graf Dybde først gjennomløp Bredde først gjennomløp Dybde først gjennomløp kan programmeres rekursivt. Der hvor rekursiv programmering ikke benyttes, gjøres bruk av følgende: - Stakk ved dybde først gjennomløp - Kø ved bredde først gjennomløp Ved slikt gjennomløp kan vi assosiere tre ulike status-tilstander til hvert punkt i grafen: - Status = 1 : Klar status. Initieringsstatus til et punkt. - Status = 2 : Vente status. Punktet befinner seg i en stakk/kø og venter på å bli prosessert. - Status = 3 : Ferdig status. Punktet er prosessert.
![Dybde først gjennomløp Velg et startpunkt A Besøk en nabo til A Dybde først gjennomløp - Velg et startpunkt A. - Besøk en nabo til A.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-34.jpg)
Dybde først gjennomløp - Velg et startpunkt A. - Besøk en nabo til A. - Besøk naboene til A osv. Dybde_Traversal Initialiser alle punktene (status = 1) Push valgt startpunkt A til stakken og sett status(A) = 2 REPEAT Pop punktet N fra stakken Prossesser N og sett status(N) = 3 Push alle naboene (som har status = 1) til N til stakken og sett status = 2 for alle disse UNTIL stakken er tom
![Dybde først gjennomløp Rekursjon dybdeTraversal A n visit sok Frak visitk Dybde først gjennomløp - Rekursjon dybde_Traversal (A, n, visit) sok. Fra(k) visit[k] : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-35.jpg)
Dybde først gjennomløp - Rekursjon dybde_Traversal (A, n, visit) sok. Fra(k) visit[k] : = True // søking med utgangspunkt i punktet k FOR j : = 1 TO n DO IF (NOT Visit[j]) AND (A[k, j] <> NULL THEN sok. Fra(j) ENDIF ENDFOR i : = 1 TO n DO // hoved-del visit[i] : = False ENDFOR i : = 1 TO n DO IF NOT visit[i] THEN sok. Fra(i) ENDIF ENDFOR
![Bredde først gjennomløping Velg et startpunkt A Besøk alle naboene til A Bredde først gjennomløping - Velg et startpunkt A. - Besøk alle naboene til A](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-36.jpg)
Bredde først gjennomløping - Velg et startpunkt A. - Besøk alle naboene til A osv. Bredde_Traversal Initialiser alle punktene (Status = 1) Adder valgt startpunkt A til køen og sett Status[A] = 2 REPEAT Fjern punktet N i køen. Prosesser N og sett Status[N] = 3 Adder til køen alle naboene (med Status = 1) til N og sett Status = 2 for alle disse UNTIL køen er tom
![Vektgraf Vi skal se nærmere på en vektgraf dvs en graf hvor hver kant Vekt-graf Vi skal se nærmere på en vekt-graf, dvs en graf hvor hver kant](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-37.jpg)
Vekt-graf Vi skal se nærmere på en vekt-graf, dvs en graf hvor hver kant er tilordnet et ikke-negativt tall. En slik graf kalles også for et nettverk.
![Vektmatrise La G være en vektgraf med n noder La we være vekten tilordnet Vekt-matrise La G være en vekt-graf med n noder. La w(e) være vekten tilordnet](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-38.jpg)
Vekt-matrise La G være en vekt-graf med n noder. La w(e) være vekten tilordnet kanten e. På samme måte som vi tidligere har laget en nabo-matrise, lager vi nå en såkalt vekt-matrise W gitt ved:
![Vektgraf med tilhørende vektmatrise Vektgraf Vektmatrise W 1 2 3 4 5 0 Vekt-graf med tilhørende vekt-matrise Vekt-graf Vekt-matrise W = 1 2 3 4 5 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-39.jpg)
Vekt-graf med tilhørende vekt-matrise Vekt-graf Vekt-matrise W = 1 2 3 4 5 0 7 9 3 2 7 0 4 6 0 9 4 0 8 0 3 6 8 0 4 2 0 0 4 0
![Minimalisering ved gjennomløping av en graf Vi skal nå forsøke å besvare følgende to Minimalisering ved gjennomløping av en graf Vi skal nå forsøke å besvare følgende to](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-40.jpg)
Minimalisering ved gjennomløping av en graf Vi skal nå forsøke å besvare følgende to spørsmål: 1. Hvordan skal vi ut fra et eksisterende nettverk hvor det finnes en vei mellom alle punktene, konstruere et nytt nettverk slik at det fremdeles finnes en vei mellom alle punktene, men nå slik at den totale summen av kantene blir mint mulig? 2. Hvordan skal vi finne den korteste veien mellom to gitte punkter?
![Minimum utspent tre Alle punktene skal være med i treet Den totale Minimum utspent tre - Alle punktene skal være med i treet - Den totale](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-41.jpg)
Minimum utspent tre - Alle punktene skal være med i treet - Den totale kant-vekten er minimalisert min_Utspent_Tre Inkluder (velg) et vilkårlig punkt REPEAT FOR alle punkter NOT inkludert DO Inkluder det punktet som har en kant med minimal vekt og som samtidig er knyttet til et av punktene som allerede er inkludert Adder dette punktet og kanten til treet ENDFOR UNTIL alle punkter er inkludert
![Minimum utspent tre Korteste kant fra inkludert punkt til ikkeinkludert punkt Begynner med et Minimum utspent tre Korteste kant fra inkludert punkt til ikke-inkludert punkt: Begynner med et](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-42.jpg)
Minimum utspent tre Korteste kant fra inkludert punkt til ikke-inkludert punkt: Begynner med et vilkårlig punkt (her 1) Korteste kant fra punt 1 er kanten til punkt 5 Korteste kant er fra punkt 1 til punkt 4 Korteste kant er fra punkt 4 til punkt 2 Korteste kant er fra punkt 2 til punkt 3
![Korteste vei mellom to gitte punkter Hvordan skal vi finne korteste vei mellom to Korteste vei mellom to gitte punkter Hvordan skal vi finne korteste vei mellom to](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-43.jpg)
Korteste vei mellom to gitte punkter Hvordan skal vi finne korteste vei mellom to gitte punkter? Vi ønsker å finne en matrise Q som er slik at qij = lengden av den korteste veien mellom vi og vj. Vi definerer en sekvens av matriser Q 0, Q 1, Q 2, …, Qn slik at: Vi sammenligner en gitt vei mellom to punkter i og j ved å sammenligne med en annen vei ved å gå innom et annet punkt k.
![Korteste vei mellom to gitte punkter Vektgraf Vektmatrise 7 W 5 R S Korteste vei mellom to gitte punkter Vekt-graf Vekt-matrise 7 W 5 = R S](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-44.jpg)
Korteste vei mellom to gitte punkter Vekt-graf Vekt-matrise 7 W 5 = R S T U 7 7 0 4 5 0 3 0 0 1 0 2 0 0
![7 Korteste vei mellom to gitte punkter 5 7 Q 0 7 u 7 Korteste vei mellom to gitte punkter 5 7 Q 0 = 7 u](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-45.jpg)
7 Korteste vei mellom to gitte punkter 5 7 Q 0 = 7 u 4 5 u 3 u u 1 u 2 u u RR SR UR RS TS - UT SU - 7 Q 1 = 7 u 4 5 12 3 9 u u u 1 u 2 u u RR SR UR RS SRS TS URS UT SU - 7 Q 2 = 7 10 4 5 12 3 9 u u u 1 7 2 5 11 RR SR TSR UR RS SRS TS URS UT RSU SU TSU URS 7 Q 3 = 7 10 4 5 12 3 4 u u u 1 7 2 5 6 RR SR TSR UR RS SRS TS UT RSU SU TSU UTSU 7 Q 4 = 6 9 4 5 6 3 4 8 3 6 1 7 2 5 6 RR SUR TSUR UR RS SUTS TS UTS RSUT TSUT UT RSU SU TSU UTSU 5 RSTU = 1234
![Korteste vei mellom to gitte punkter 7 minVei w q n u Korteste vei mellom to gitte punkter 7 min_Vei (w, q, n) u : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-46.jpg)
Korteste vei mellom to gitte punkter 7 min_Vei (w, q, n) u : = max. Int FOR i : = 1 TO n DO FOR j : = 1 TO n DO IF w[i, j] = null THEN q[i, j] : = u ELSE q[i, j] : = w[i, j] ENDIF ENDFOR // initiering av q FOR k : = 1 TO n DO // oppdatering av q FOR i : = 1 TO n DO FOR j : = 1 TO n DO q[i, j] : = min (q[i, j], q[i, k] + q[k, j]) ENDFOR 5 5
![Kortestevei algoritme Dijkstra Strategi Algoritme Dijkstra source n FOR v Korteste-vei algoritme Dijkstra - Strategi / Algoritme Dijkstra (source, n) FOR v : =](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-47.jpg)
Korteste-vei algoritme Dijkstra - Strategi / Algoritme Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE S T S S : = empty sequence u : = target WHILE prev[u] is defined DO insert u at the beginning of S u = prev[v] ENDWHILE T
![Kortestevei algoritme Dijkstra Eks 1 2 3 4 Dijkstra source n FOR v Korteste-vei algoritme Dijkstra - Eks 1 2 3 4 Dijkstra (source, n) FOR v](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-48.jpg)
Korteste-vei algoritme Dijkstra - Eks 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 inf inf dist prev 1 7 5 2 4 4 2 1 3 3 Q u v alt 1 2 3 4 4 S : = empty sequence u : = target WHILE prev[u] is defined DO insert u at the beginning of S u = prev[v] ENDWHILE 4 1 1 3 5 3 2
![Kortestevei algoritme Dijkstra Eks Init 1 2 3 4 Dijkstra source n FOR Korteste-vei algoritme Dijkstra - Eks Init 1 2 3 4 Dijkstra (source, n) FOR](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-49.jpg)
Korteste-vei algoritme Dijkstra - Eks Init 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 inf inf dist inf inf prev Q u v alt undef 1 7 5 2 4 4 2 1 3 3
![Kortestevei algoritme Dijkstra Eks Init source Min Heap 1 2 3 4 Korteste-vei algoritme Dijkstra - Eks Init source - Min Heap 1 2 3 4](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-50.jpg)
Korteste-vei algoritme Dijkstra - Eks Init source - Min Heap 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 inf inf dist inf inf 0 prev undef Q u v alt 1 2 3 4 1 7 5 2 4 4 2 1 3 3
![Kortestevei algoritme Dijkstra Eks Source 1 2 3 4 Dijkstra source n FOR Korteste-vei algoritme Dijkstra - Eks Source 1 2 3 4 Dijkstra (source, n) FOR](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-51.jpg)
Korteste-vei algoritme Dijkstra - Eks Source 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 inf inf dist inf inf 0 prev undef Q u v alt 1 4 2 3 1 7 5 2 4 4 2 1 3 3
![Kortestevei algoritme Dijkstra Eks Nabo til node 4 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 4 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-52.jpg)
Korteste-vei algoritme Dijkstra - Eks Nabo til node 4 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf inf inf 1 7 5 2 4 4 2 1 3 1 2 3 4 dist inf inf 0 prev undef Q u v alt 1 4 2 3 1 2 3 4 dist 4 inf 0 prev 4 undef Q u v alt 1 4 2 3 1 2 3 4 dist 4 inf 1 0 prev 4 undef Q u v alt 1 4 3 1 2 3 3
![Kortestevei algoritme Dijkstra Eks Nabo til node 3 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 3 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-53.jpg)
Korteste-vei algoritme Dijkstra - Eks Nabo til node 3 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 2 3 4 inf 7 inf 4 5 3 3 4 inf inf 1 7 5 2 4 4 2 1 3 1 2 3 4 dist 4 inf 1 0 prev 4 undef Q u v alt 1 4 3 1 2 3 4 dist 4 4 1 0 prev Q u v alt 4 1 3 2 4 undef 3
![Kortestevei algoritme Dijkstra Eks Nabo til node 1 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 1 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-54.jpg)
Korteste-vei algoritme Dijkstra - Eks Nabo til node 1 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 2 3 4 inf 7 inf 4 5 3 3 4 inf inf 1 7 5 2 4 4 2 1 3 1 2 3 4 dist 4 4 1 0 prev Q u v alt 4 1 3 2 4 undef 1 2 3 4 dist 4 4 1 0 prev Q u v alt 4 1 2 9 3 2 4 undef 3
![Kortestevei algoritme Dijkstra Eks Nabo til node 2 1 2 3 4 Dijkstra Korteste-vei algoritme Dijkstra - Eks Nabo til node 2 1 2 3 4 Dijkstra](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-55.jpg)
Korteste-vei algoritme Dijkstra - Eks Nabo til node 2 1 2 3 4 Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 2 3 4 inf 7 inf 4 5 3 3 4 inf inf 1 inf inf 6 1 7 5 2 4 4 2 1 3 1 2 3 4 dist 4 4 1 0 prev Q u v alt 4 1 2 9 3 2 4 undef 1 2 3 4 dist 4 4 1 0 prev Q u v alt 4 2 1 11 3 4 undef 1 2 3 4 dist 4 4 1 6 prev 4 3 4 2 Q u v alt 2 4 6 3
![Kortestevei algoritme Dijkstra Eks Gjennomløp av korteste vei 1 2 3 4 inf Korteste-vei algoritme Dijkstra - Eks Gjennomløp av korteste vei 1 2 3 4 inf](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-56.jpg)
Korteste-vei algoritme Dijkstra - Eks Gjennomløp av korteste vei 1 2 3 4 inf 7 inf 4 5 3 3 inf inf 1 inf inf Dijkstra (source, n) FOR v : = 1 TO n DO dist[v] : = infinity prev[v] : = undefined ENDFOR dist[source] : = 0 Q : = set of all nodes in Graph finish : = false WHILE Q is not empty AND not finished DO u : = vertex in Q with smallest dist IF dist[u] = infinity THEN finished : = true ELSE remove u from Q FOR each neghbour v of u DO alt : = dist[u] + dist_between(u, v) IF alt < dist[v] : = alt prev[v] : = u decrease_key v in Q ENDIF ENDFOR ENDWHILE 1 7 5 2 dist prev 1 4 4 2 4 3 3 1 4 4 6 2 4 4 2 1 3 3 4 3 2 4 S : = empty sequence u : = target WHILE prev[u] is defined DO insert u at the beginning of S u = prev[v] ENDWHILE 4 1 1 3 5 3 2
![Lenket liste implementering av graf Graf Naboliste Punkt Kantliste Naboliste A B C D Lenket liste implementering av graf Graf Nabo-liste Punkt Kant-liste (Nabo-liste) A B C D](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-57.jpg)
Lenket liste implementering av graf Graf Nabo-liste Punkt Kant-liste (Nabo-liste) A B C D E B-C-D D A-D
![Innsetting Start PLed KLed Pkt NPkt FKant Pkant NKant Innsetting Start : PLed : KLed : Pkt : NPkt : FKant: Pkant: NKant:](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-58.jpg)
Innsetting Start : PLed : KLed : Pkt : NPkt : FKant: Pkant: NKant: Start-peker til første punkt i Punkt-listen Peker til første ledige i Kant-listen Info-felt i Punkt-listen Peker til neste punkt i Punkt-listen Peker til første kant Peker som viser hvilket punkt som svarer til denne kanten Peker til neste kant
![finn Element pkt n Pkt start post lok Søker etter posten med innhold finn. Element (pkt, n. Pkt, start, post, lok) /* Søker etter posten med innhold](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-59.jpg)
finn. Element (pkt, n. Pkt, start, post, lok) /* Søker etter posten med innhold post i tabellen pkt /* og returnerer med lokasjonen til denne posten. /* post : Innhold i søkt Post /* lok : Returnerer med lokasjonen (posisjonen) /* til søkt Post (returnerer med verdien NULL /* hvis posten ikke finnes) null : = 0 lok : = null peker : = start WHILE (peker != null) AND (lok = null) DO IF post = pkt[peker] THEN lok : = peker ELSE peker : = n. Pkt[peker] ENDIF ENDWHILE */ */ */
![finn Kantpkt n Pkt f Kant p Kant n Kant start post 1 post finn. Kant(pkt, n. Pkt, f. Kant, p. Kant, n. Kant, start, post 1, post](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-60.jpg)
finn. Kant(pkt, n. Pkt, f. Kant, p. Kant, n. Kant, start, post 1, post 2, lok 1, lok 2, flag) /* Søker etter en gitt kant i kant-tabellen og returnerer med lokasjonen til denne kanten. /* post 1 : Første punkt i søkt kant /* post 2 : Andre punkt i søkt kant /* lok 1 : Returnerer med lokasjonen (posisjonen) til første punkt i søkt kant /* (returnerer med verdien null hvis posten ikke finnes /* lok 2 : Returnerer med lokasjonen (posisjonen) til andre punkt i søkt kant */ /* (returnerer med verdien null hvis posten ikke finnes) /* flag : Returnerer med verdien true hvis det finnes en kant mellom post 1 og post 2 null : = 0 flag : = false finn. Element (pkt, n. Pkt, start, post 1, lok 1) finn. Element (pkt, n. Pkt, start, post 2, lok 2) IF (lok 1 != null) AND (lok 2 != null) THEN finn. Element(p. Kant, n. Kant, f. Kant[lok 1], lok 2, lok) IF lok != null THEN flag : = true ENDIF */ */
![innsett Punkt pkt n Pkt f Kant start pled post full Setter inn innsett. Punkt (pkt, n. Pkt, f. Kant, start, pled, post, full) /* Setter inn](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-61.jpg)
innsett. Punkt (pkt, n. Pkt, f. Kant, start, pled, post, full) /* Setter inn nytt punkt først i punkt-listen */ /* post : Nytt punkt som skal innsettes */ null: = 0 IF pled = null THEN full : = true ELSE full : = false ny : = pled : = n. Pkt[ny] pkt[ny] : = post f. Kant[ny] : = null n. Pkt[ny] : = start : = ny ENDIF // Pkt-listen er full // Ledig plass i Pkt-listen
![InnsettKant innsett Kant pkt n Pkt f Kant start p Kant n Kant k Innsett_Kant innsett. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-62.jpg)
Innsett_Kant innsett. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Led, p 1, p 2, full, flag) /* Setter inn ny kant først i kant-listen. ‘/ null : = 0 IF kled = null THEN full : = true flag : = false ELSE full : = false finn. Element (pkt, n. Pkt, start, p 1, lok 1) finn. Element (pkt, n. Pkt, start, p 2, lok 2) IF (lok 1 != null) AND (lok 2 != null) THEN ny : = kled k. Led : = n. Kant[Ny] p. Kant[Ny] : = lok 2 n. Kant[Ny] : = f. Kant[lok 1] f. Kant[Lok 1] : = ny flag : = true ENDIF
![fjern Element info neste start led post flag null 0 flag fjern. Element (info, neste, start, led, post, flag) null : = 0 flag :](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-63.jpg)
fjern. Element (info, neste, start, led, post, flag) null : = 0 flag : = false IF start != null THEN IF post = info[head] THEN peker : = start : = neste[peker] : = led : = peker flag : = true ELSE forrige : = start peker : = neste[start] WHILE (peker != n. ULL) AND (NOT flag) DO IF post = info[peker] THEN neste[forrige] : = neste[peker] : = led : = peker flag : = true ELSE forrige : = peker : = neste[peker] ENDIF ENDWHILE ENDIF // Fjerner et gitt element i en åpen forlengs liste // Slette første Post // Slette post ute i listen
![fjern Punkt pkt n Pkt f Kant start p Led p Kant n Kant fjern. Punkt (pkt, n. Pkt, f. Kant, start, p. Led, p. Kant, n. Kant,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-64.jpg)
fjern. Punkt (pkt, n. Pkt, f. Kant, start, p. Led, p. Kant, n. Kant, k. Led, post, flag) /* Fjerner et gitt punkt samt kanter tilhørende dette punktet */ null : = 0 finn. Element (pkt, n. Pkt, start, post, lok) // Punktet som skal fjernes IF lok = null THEN Flag : = False ELSE peker : = start WHILE peker != null DO // Fjern inngående kanter til Post fjern. Element (p. Kant, n. Kant, f. Kant[peker], k. Led, lok, flag) peker : = n. Pkt[peker] ENDWHILE IF f. Kant[Lok] != NULL THEN // Fjern utgående kanter fra Post beg : = f. Kant[lok] end : = f. Kantlok] peker : = n. Kant[end] WHILE peker != null DO end : = peker : = n. Kant[peker] ENDWHILE n. Kant[end] : = k. Led : = beg ENDIF fjern. Element (pkt, n. Pkt, start, pled, post, flag) // Fjern Post ENDIF
![fjern Kant pkt n Pkt f Kant start p Kant n Kant k Led fjern. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Led,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-65.jpg)
fjern. Kant (pkt, n. Pkt, f. Kant, start, p. Kant, n. Kant, k. Led, p 1, p 2, flag) /* Fjerner en gitt kant i kant-listen /* p 1 : Første punkt i kanten som skal slettes /* p 2 : Andre punkt i kanten som skal slettes /* flag : Returnerer med verdien True /* hvis slettingen er ok */ */ */ finn. Element (pkt, n. Pkt, start, p 1, lok 1) finn. Element (pkt, n. Pkt, start, p 2, lok 2) fjern. Element (p. Kant, n. Kant, f. Kant[lok 1], k. Led, lok 2, flag)
![Klassehierarki Graf IComparable IContainer AObject AContainer IVertex IEdge IGraph IDi Graph AGraph As Klassehierarki - Graf I_Comparable I_Container A_Object A_Container I_Vertex I_Edge I_Graph I_Di. Graph A_Graph. As.](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-66.jpg)
Klassehierarki - Graf I_Comparable I_Container A_Object A_Container I_Vertex I_Edge I_Graph I_Di. Graph A_Graph. As. Matrix Test Graph. As. List Test Digraph. As. Matrix Test Digraph. As. List Test
![Interface IVertex Interface I_Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-67.jpg)
Interface I_Vertex
![Interface IEdge Interface I_Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-68.jpg)
Interface I_Edge
![Interface IGraph Interface I_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-69.jpg)
Interface I_Graph
![Interface IGraph Interface I_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-70.jpg)
Interface I_Graph
![Abstrakt klasse AGraph Abstrakt klasse A_Graph](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-71.jpg)
Abstrakt klasse A_Graph
![AGraph get Number Of Vertices get Vertex A_Graph get. Number. Of. Vertices - get. Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-72.jpg)
A_Graph get. Number. Of. Vertices - get. Vertex
![AGraph get Vertices A_Graph get. Vertices](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-73.jpg)
A_Graph get. Vertices
![AGraph add Vertex A_Graph add. Vertex](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-74.jpg)
A_Graph add. Vertex
![AGraph get Number Of Edges get Edge get Edges add Edge A_Graph get. Number. Of. Edges - get. Edge – get. Edges add. Edge -](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-75.jpg)
A_Graph get. Number. Of. Edges - get. Edge – get. Edges add. Edge - is. Edge
![AGraph depth First Traversal A_Graph depth. First. Traversal](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-76.jpg)
A_Graph depth. First. Traversal
![AGraph breadth First Traversal A_Graph breadth. First. Traversal](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-77.jpg)
A_Graph breadth. First. Traversal
![AGraph is Directed A_Graph is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-78.jpg)
A_Graph is. Directed
![AGraph is Connected Finnes en vei mellom hvert par av noder Starter i en A_Graph is. Connected: Finnes en vei mellom hvert par av noder. Starter i en](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-79.jpg)
A_Graph is. Connected: Finnes en vei mellom hvert par av noder. Starter i en fritt valgt node (her node nr 0). Benytter dybde. Først gjennomløp og teller antall noder som besøkes. Grafen er connected hvis antall besøkte noder er lik totalt antall noder i grafen.
![AGraph is Cyclic A_Graph is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-80.jpg)
A_Graph is. Cyclic
![AGraph get Predecessors get Successors get Incident Edges get Emanating Edges A_Graph get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-81.jpg)
A_Graph get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges
![AGraph Vertex get Predecessors get Successors get Incident Edges get Emanating Edges A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-82.jpg)
A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges
![AGraph Vertex get Number get Weight A_Graph. Vertex get. Number - get. Weight](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-83.jpg)
A_Graph. Vertex get. Number - get. Weight
![AGraph Vertex get Predecessors get Successors get Incident Edges get Emanating Edges A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-84.jpg)
A_Graph. Vertex get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges
![AGraph Vertex compare To A_Graph. Vertex compare. To](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-85.jpg)
A_Graph. Vertex compare. To
![AGraph Edge get Predecessors get Successors get Incident Edges get Emanating Edges A_Graph. Edge get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-86.jpg)
A_Graph. Edge get. Predecessors - get. Successors get. Incident. Edges - get. Emanating. Edges
![AGraph Edge get V 1 get V 2 get Weight A_Graph. Edge get. V 1 - get. V 2 - get. Weight](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-87.jpg)
A_Graph. Edge get. V 1 - get. V 2 - get. Weight
![AGraph Edge get Connected Vertex is Directed compare To A_Graph. Edge get. Connected. Vertex – is. Directed compare. To](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-88.jpg)
A_Graph. Edge get. Connected. Vertex – is. Directed compare. To
![AGraph Counter A_Graph. Counter](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-89.jpg)
A_Graph. Counter
![Graph As Matrix Graph. As. Matrix](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-90.jpg)
Graph. As. Matrix
![Graph As Matrix add Edge Graph. As. Matrix add. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-91.jpg)
Graph. As. Matrix add. Edge
![Graph As Matrix get Edge is Edge Graph. As. Matrix get. Edge - is. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-92.jpg)
Graph. As. Matrix get. Edge - is. Edge
![Graph As Matrix get Edges Graph. As. Matrix get. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-93.jpg)
Graph. As. Matrix get. Edges
![Graph As Matrix get Predecessors Graph. As. Matrix get. Predecessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-94.jpg)
Graph. As. Matrix get. Predecessors
![Graph As Matrix get Sucessors Graph. As. Matrix get. Sucessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-95.jpg)
Graph. As. Matrix get. Sucessors
![Graph As Matrix get Incident Edges Graph. As. Matrix get. Incident. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-96.jpg)
Graph. As. Matrix get. Incident. Edges
![Graph As Matrix get Emanating Edges Graph. As. Matrix get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-97.jpg)
Graph. As. Matrix get. Emanating. Edges
![Graph As List Graph. As. List](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-98.jpg)
Graph. As. List
![Graph As List add Edge Graph. As. List add. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-99.jpg)
Graph. As. List add. Edge
![Graph As List get Edge Graph. As. List get. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-100.jpg)
Graph. As. List get. Edge
![Graph As List is Edge Graph. As. List is. Edge](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-101.jpg)
Graph. As. List is. Edge
![Graph As List get Edges 13 Graph. As. List get. Edges (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-102.jpg)
Graph. As. List get. Edges (1/3)
![Graph As List get Edges 23 Graph. As. List get. Edges (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-103.jpg)
Graph. As. List get. Edges (2/3)
![Graph As List get Edges 33 Graph. As. List get. Edges (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-104.jpg)
Graph. As. List get. Edges (3/3)
![Graph As List get Predecessors 13 Graph. As. List get. Predecessors (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-105.jpg)
Graph. As. List get. Predecessors (1/3)
![Graph As List get Predecessors 23 Graph. As. List get. Predecessors (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-106.jpg)
Graph. As. List get. Predecessors (2/3)
![Graph As List get Predecessors 33 Graph. As. List get. Predecessors (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-107.jpg)
Graph. As. List get. Predecessors (3/3)
![Graph As List get Sucessors Graph. As. List get. Sucessors](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-108.jpg)
Graph. As. List get. Sucessors
![Graph As List get Incident Edges 13 Graph. As. List get. Incident. Edges (1/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-109.jpg)
Graph. As. List get. Incident. Edges (1/3)
![Graph As List get Incident Edges 23 Graph. As. List get. Incident. Edges (2/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-110.jpg)
Graph. As. List get. Incident. Edges (2/3)
![Graph As List get Incident Edges 33 Graph. As. List get. Incident. Edges (3/3)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-111.jpg)
Graph. As. List get. Incident. Edges (3/3)
![Graph As List get Emanating Edges Graph. As. List get. Emanating. Edges](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-112.jpg)
Graph. As. List get. Emanating. Edges
![Digraph As Matrix add Edge is Directed Digraph. As. Matrix - add. Edge - is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-113.jpg)
Digraph. As. Matrix - add. Edge - is. Directed
![Digraph As Matrix S A B C D E F S A Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-114.jpg)
Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, C, B, E, F, D} topological. Order. Traversal (1/3) B D A C E F En topologisk sortering av en rettet, asyklisk graf er en sekvens S = {v 1, v 2, …vn} hvor alle noder er med eksakt en gang. For hvert par av distinkte noder vi og vj i S har vi i < j hvis det går en kant fra vi til vj. Strategi: WHILE flere noder velg en node med inngrad 0 (må finnes minst en slik hvis asyklisk graf) adder noden til sortering S slett noden og alle tilhørende utgående kanter fra grafen ENDWHILE Fjerning av en node og tilhørende utgående kanter kan simuleres ved å senke inngrad med 1 for alle etterfølgende noder.
![Digraph As Matrix S A B C D E F S A Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-115.jpg)
Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, C, B, E, F, D} topological. Order. Traversal (2/3) B D A C E F
![Digraph As Matrix S A B C D E F S A Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-116.jpg)
Digraph. As. Matrix S = {A, B, C, D, E, F} S = {A, C, B, E, F, D} topological. Order. Traversal (3/3) B D A C E F
![Digraph As Matrix is Strongly Connected Strongly connected Finnes en vei mellom hvert par Digraph. As. Matrix is. Strongly. Connected Strongly connected: Finnes en vei mellom hvert par](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-117.jpg)
Digraph. As. Matrix is. Strongly. Connected Strongly connected: Finnes en vei mellom hvert par av noder. Foretar en start i hver av nodene og benytter dybde først gjennomløp. Strongly connected hvis hvert gjennomløp besøker alle nodene i grafen.
![Digraph As Matrix is Cyclic Digraph. As. Matrix is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-118.jpg)
Digraph. As. Matrix is. Cyclic
![Digraph As List add Edge is Directed Digraph. As. List - add. Edge - is. Directed](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-119.jpg)
Digraph. As. List - add. Edge - is. Directed
![Digraph As List S A B C D E F S A Digraph. As. List S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-120.jpg)
Digraph. As. List S = {A, B, C, D, E, F} S = {A, C, B, E, F, D} topological. Order. Traversal (1/2) B D A C E F
![Digraph As List S A B C D E F S A Digraph. As. List S = {A, B, C, D, E, F} S = {A,](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-121.jpg)
Digraph. As. List S = {A, B, C, D, E, F} S = {A, C, B, E, F, D} topological. Order. Traversal (2/2) B D A C E F
![Digraph As List is Strongly Connected Digraph. As. List is. Strongly. Connected](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-122.jpg)
Digraph. As. List is. Strongly. Connected
![Digraph As List is Cyclic Digraph. As. List is. Cyclic](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-123.jpg)
Digraph. As. List is. Cyclic
![TestGraph As Matrix 12 Test_Graph. As. Matrix (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-124.jpg)
Test_Graph. As. Matrix (1/2)
![TestGraph As Matrix 22 Test_Graph. As. Matrix (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-125.jpg)
Test_Graph. As. Matrix (2/2)
![TestGraph As List 15 Test_Graph. As. List (1/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-126.jpg)
Test_Graph. As. List (1/5)
![TestGraph As List 25 Test_Graph. As. List (2/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-127.jpg)
Test_Graph. As. List (2/5)
![TestGraph As List 35 Test_Graph. As. List (3/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-128.jpg)
Test_Graph. As. List (3/5)
![TestGraph As List 45 Test_Graph. As. List (4/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-129.jpg)
Test_Graph. As. List (4/5)
![TestGraph As List 55 Test_Graph. As. List (5/5)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-130.jpg)
Test_Graph. As. List (5/5)
![TestDigraph As Matrix 12 Test_Digraph. As. Matrix (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-131.jpg)
Test_Digraph. As. Matrix (1/2)
![TestDigraph As Matrix 22 Test_Digraph. As. Matrix (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-132.jpg)
Test_Digraph. As. Matrix (2/2)
![TestDigraph As List 12 Test_Digraph. As. List (1/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-133.jpg)
Test_Digraph. As. List (1/2)
![TestDigraph As List 22 Test_Digraph. As. List (2/2)](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-134.jpg)
Test_Digraph. As. List (2/2)
![Kritisk veianalyse 1 Minimum tid for gjennomføring av hele prosjektet 2 Aktivitetsslakk uten endring Kritisk vei-analyse 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-135.jpg)
Kritisk vei-analyse 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring av total tid. Aktivitets-node-graf (node-vektet graf) B 1 E 9 A 3 D 1 C 4 G 2 F 5 Sett inn dummy-kant / dummy-node når en aktivitet avhenger av mer enn en forgjenger. Event-node-graf (kant-vektet graf) A 3 B 1 C 4 0 0 D 1 E 9 F 5 0 0 G 2 A B C D E F G Tidligst Senest Slakk 0 3 3 7 8 8 17 0 6 3 7 8 12 17 0 3 0 0 0 4 0
![1 Minimum tid for gjennomføring av hele prosjektet 2 Aktivitetsslakk uten endring av total 1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring av total](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-136.jpg)
1. Minimum tid for gjennomføring av hele prosjektet. 2. Aktivitets-slakk uten endring av total tid. Kritisk vei-analyse Event-node-graf (kant-vektet graf) B 1 A 3 1 2 C 4 3 4 0 0 E 9 D 1 5 6 7 0 F 5 G 2 0 9 10 8 Kritisk vei 3 0 A 3 0 B 1 C 4 0 0 D 1 0 E 9 0 F 5 0 G 2 0 4 1 2 3 4 5 6 7 8 9 10 Tidligst Senest Slakk 0 3 4 7 7 8 17 13 17 19 0 3 7 7 7 8 17 17 17 19 0 0 3 0 0 4 0 0
![3 0 Kritisk veianalyse Earliest time A 3 0 B 1 C 4 0 3 0 Kritisk vei-analyse Earliest time: A 3 0 B 1 C 4 0](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-137.jpg)
3 0 Kritisk vei-analyse Earliest time: A 3 0 B 1 C 4 0 0 D 1 0 E 9 0 F 5 0 G 2 0 4 topological. Order. Traversal med Earliest. Time. Visitor Ev 1 C(v 1, w) Ew Evn C(vn, w) Latest time: reverse topological. Order: depth. First. Traversal med Post. Orden Latest. Time. Visitor Slack time: C(v 1, w) Lv 1 C(vn, w) Lvn Lw
![END END](https://slidetodoc.com/presentation_image_h/fbed306bf699f847b5d5dc8cae79d1ee/image-138.jpg)
END
Kap kap kape voda
Graf definisjon
Graf definisjon
Lgr11 kap 4
Kap tools
1.kap yemekler
Kap 140 autopilot ils approach
Vinkelakselerasjon
Kap kut
Kap 24
Kovalent binding
12 kap jordabalken
Modelo kap educacion para la salud
Likviditetsbudget
Kap josua hutapea
Kap modell
Tpcall
Sa wa dee krap
Kap 9
Tabldot menüde 2.grup
Stacionarni tip piramide
Kap framework
Hyreslagen 12 kap
Kap 12
Mengapa client representation letter itu diperlukan
Kap 140 autopilot
Kap dan pin
Kap lithinon
Eksempler på kritisk realisme
Survey metode
Anvendelse definisjon
Forringe definisjon
Brennvidde definisjon
Normalitet og avvik definisjon
Uordnet utvalg med tilbakelegging
Nåværende
Nytenkende definisjon
Gjensidig testament
Autoriative
Divisjonskalkulasjon
Stokastiske variabler
Kognitiv ergonomi
Psykografisk segmentering
Milli mikro nano piko
Helhetlig menneskesyn definisjon
Spnning
Kjønnsbundet arv definisjon
Planering definisjon
Nåverdiannuitet
Cummins isfjell
Medarbeiderskap i praksis
Hverdagsrehabilitering definisjon
Arbeidskultur definisjon
Fellesbetegnelse
Kulturalisering
Periferiservice
Retorikk definisjon
Grenblokk
Realkompetanse eksempler
Digital transformasjon definisjon
Elvy saus
Gentrifisering
Digital transformasjon definisjon
Tilleggssatser
Scenisk framstilling
Erfaringskonsulent definisjon
Mindfulness definisjon
Forretningside definisjon
Sentripetalakselerasjon
Lønnsomhetstreet
Arbeidsmoral definisjon
Episke tekster
Realøkonomi definisjon
Likeperson definisjon
Cash flow metoden
Total sannsynlighet
Funksjonsorientert modell
Stimulus generalisering definisjon
Merkevarebygging def
Miljøbehandling definisjon
Avledet definisjon
Stemplingsteori
Miljøterapi definisjon
Pål rochette
Språkbarriere definisjon
Strålingsaktivitet definisjon
Nettvett definisjon
Risikovurdering definisjon
Konkurransemiddel
Definisjon av osteoporose
Nedtrykt definisjon
Likhetsprinsippet
Ontstaan fascisme
Epikk definisjon
Produktattributter
Rentabilitet definisjon
Ved produktvalg og ledig kapasitet hvilken regel gjelder da
Ruh rapport
Inter gruppen konflikt
Skikkethet definisjon
Organisasjonsklima
Prinsix
Produktkalkulasjon
Organisasjonslæring definisjon
Byggvask krav
Finf ip
Hva er massekommunikasjon
Nærhetsetikk definisjon
Revolusjon definisjon
Komplementaritet definisjon
Gaukrenn definisjon
Hva er et konsern
Totalkapitalens omløpshastighet
Kontinuitetsligningen
Graf teratur berderajat 3 dengan 6 simpul
Euryekní živočich
Grafické znázornění věty
Ohmův zákon graf
Nut graph
Jednako ubrzano kretanje
Isa graf
Graf logaritmickej funkcie
Scheda val graf
Keimunan pasif semulajadi
Cotg graf
Oligopol
Izotermicky dej graf
Maksud margin keselamatan
Matriks insidensi
V t graf
Tabuka
Dioda adalah
Graf ryzyka
Perioda
Graf nepriamej úmernosti
Contoh graf berbobot
Graf tidak terhubung
Aliran kadar pertumbuhan graf
Sinus 1