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ö Halmstad Varberg Göteborg Borås Jönköping Växjö

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ö Halmstad Varberg Göteborg Borås Jönköping Växjö

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ö

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 (2) 4 (1) (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

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 Node 3 Node 1 Node 6 Node 2 Node 4 Node 5 Node

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 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 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- Node 1 (4) Node 6 (5) INF Node 2 (6)Node 4 (5)

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 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From 0- Node 6 (5) INF Node 2 (6) Node 4 (5) Node 5 (8) Node 7 (9)

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 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From Node 2 (6) Node 5 (8) Node 7 (9) 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 Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Distance From Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node


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

Liknande presentationer


Google-annonser