Presentation laddar. Vänta.

Presentation laddar. Vänta.

För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Graf och Grafalgoritmer.

Liknande presentationer


En presentation över ämnet: "För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Graf och Grafalgoritmer."— Presentationens avskrift:

1 För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Graf och Grafalgoritmer

2 För utveckling av verksamhet, produkter och livskvalitet. Några enkla graf teorier Hur IP trafik hittar destinationen i Internät ? GPS-system ?

3 För utveckling av verksamhet, produkter och livskvalitet. Några enkla graf teorier Sociala nätverk Vanligaste frågeställningar: Hur hittar man från A->B? Hur beräknas den kortaste vägen mellan A B

4 För utveckling av verksamhet, produkter och livskvalitet. Terminology Vertices & edges ( Noder och förbindelse eller bågar) En nod a är granne till b i en oriktad graf om det finns en båge mellan a och b. Paths (väg) Viktad Oviktad Riktad Oriktad Halmstad Varberg Göteborg Borås Jönköping Växjö 40 70 100 200 120 60 Halmstad Varberg Göteborg Borås Jönköping Växjö 40 70 100 200 120 60

5 För utveckling av verksamhet, produkter och livskvalitet. Mer terminology  Path length Oviktad path length – antalet förbindelse mellan två noder Viktad path length- summan av vikter mellan två nod  Riktad graph Visa förbindelse är enbart envägs Vikten för en förbindelse behövs inte vara dessama i båda riktningarna ( om båda finns) Halmstad Varberg Göteborg Borås Jönköping Växjö 40 70 100 200 120 60 Halmstad Varberg Göteborg Borås Jönköping Växjö 40 70 100 200 120 60

6 För utveckling av verksamhet, produkter och livskvalitet. Mer terminology Simple paths ( Enkla vägar) Innehåller en nod enbart en gång Cyclic paths ( cykliska vägar) Startar och slutar i samma nod. Halmstad Varberg Göteborg Borås Jönköping Växjö 40 70 100 200 120 60

7 För utveckling av verksamhet, produkter och livskvalitet. Ännu mer terminology Graph täthet Refererar till antalet förbindelse i grafen gles graph tät graph ( ~~ N 2 förbindelse ) Node 5Node 4 Node 1Node 2 Node 3Node 6 Node 5Node 4 Node 1Node 2 Node 3Node 6

8 För utveckling av verksamhet, produkter och livskvalitet. Graph representation Adjacent list Varje node håller en länkad lista som innehåller information om grann- noder och vikt. Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 2 6 10 3 1 4 54 8 1 1 2 2 3 3 4 4 5 5 6 6 2 (2) 4 (1) 7 7 5 (10) 4 (3) 1 (4) 6 (5) 5 (2) 7 (4) 6 (8) 3 (2) 7 (6) 6 (1)

9 För utveckling av verksamhet, produkter och livskvalitet. Graph representation Adjacent matrix En kvadratisk matris där raderna och kolumnerna är representerade av noder och elementen i matrisen av förbindelser. För viktad graph innehåller elemnenten i matrisen just vikten Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 2 6 10 3 1 4 54 8 1 1 2 2 3 3 4 4 5 5 6 6 7 7 1 1 2 2 3 3 4 4 5 5 6 6 7 7 21 310 45 2284 6 1

10 För utveckling av verksamhet, produkter och livskvalitet. Vad är en nod (vertex) ? protected class Vertex { String name; List adjacents; Vertex (String n) { name = n; adjacents = new LinkedList(); } }

11 För utveckling av verksamhet, produkter och livskvalitet. Vad är en förbindelse? public class Edge { public Vertex dest; public double cost; public Edge( Vertex d, double c) { dest=d; cost=c; } }

12 För utveckling av verksamhet, produkter och livskvalitet. Traversera graf- Bredden-först: Motsvarar närmast level-by-level-traversering av träd. Man besöker först utgångsnoden, sedan dess grannar, sedan grannarnas grannar osv. Använder en extra attribut ”visited-attribut”. Endast noder till vilka det finns en väg från utgångsnoden kommer att besökas. Djupet först- ett annat teknik för graf traversering

13 För utveckling av verksamhet, produkter och livskvalitet. Bredden-först – tillämpning – hitta kortaste vägen i oviktade grafer Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 0 12 3 3 2 1 Node 3 Node 1 Node 6 Node 2 Node 4 Node 5 Node 7 0 1 1 2 2 3 3

14 För utveckling av verksamhet, produkter och livskvalitet. Dijkstra’s Algorithm For viktade grafer Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 3 1 1 3 1 4 54 8 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From

15 För utveckling av verksamhet, produkter och livskvalitet. Dijkstra’s Algorithm För viktade grfer Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 3 1 1 3 1 4 54 8 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- Node 1 (4) Node 6 (5) INF 4 5 3 3 Node 2 (6)Node 4 (5) 5 1 6 1

16 För utveckling av verksamhet, produkter och livskvalitet. Dijkstra’s Algorithm For viktade grafer! Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 3 1 1 3 1 4 54 8 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- Node 6 (5) INF 4 5 3 3 Node 2 (6) Node 4 (5) 5 1 6 1 Node 5 (8) Node 7 (9) 8 4 9 4

17 För utveckling av verksamhet, produkter och livskvalitet. Dijkstra’s Algorithm För viktade grapher! Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 3 1 1 3 1 4 54 8 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- 4 5 3 3 Node 2 (6) 5 1 6 1 Node 5 (8) Node 7 (9) 8 4 9 4 7 2 Node 5 (7) 8 5

18 För utveckling av verksamhet, produkter och livskvalitet. Dijkstra’s Algorithm För viktade grapher! Node 6 Node 7 Node 1Node 2 Node 5Node 3 Node 4 2 1 2 3 1 1 3 1 4 54 8 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- 4 5 3 3 5 1 6 1 7 2 8 5 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 3 3 1 1 3 3 1 1 3 3 2 2 1 1 3 3 3 3 5 5 2 2 1 1 3 3


Ladda ner ppt "För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Graf och Grafalgoritmer."

Liknande presentationer


Google-annonser