Download presentation

Presentation is loading. Please wait.

Published byClement Hutchinson Modified over 2 years ago

1
Graphs

2
Data structures that connect a set of objects to form a kind of a network Objects are called “Nodes” or “Vertices” Connections are called “Edges” 2

3
Types of Graphs 3 Directed vs. undirected Undirected (Edges have no direction) Directed (Edges have directions) Weighted vs. unweighted Unweighted (Edges have no cost/weight) Weighted (Edges have associated cost/weight)

4
Types of Graphs (Cont’d) 4 Dense vs. Sparse Dense graphs (many edges between nodes) Sparse graphs (few edges between nodes) If the graph has n vertices (nodes) Maximum # of edges is n 2 In dense graphs number of edges is close to n 2 In sparse graphs number of edges is close to n

5
5 Some Graph Applications transportation Graph street intersections NodesEdges highways communicationcomputersfiber optic cables World Wide Webweb pageshyperlinks socialpeoplerelationships food webspeciespredator-prey software systemsfunctionsfunction calls schedulingtasksprecedence constraints circuitsgateswires

6
6 World Wide Web Web graph. n Node: web page. n Edge: hyperlink from one page to another. cnn.com cnnsi.com novell.comnetscape.com timewarner.com hbo.com sorpranos.com

7
7 Social Network Social network graph. n Node: people. n Edge: relationship between two people. Reference: Valdis Krebs, http://www.firstmonday.org/issues/issue7_4/krebs

8
Protein Networks 8 Nodes are proteins Edges are connections (interaction between proteins)

9
More Formalization 9

10
10 Undirected Graphs Undirected graph. G = (V, E) n V = set of nodes or vertices n E = edges between pairs of nodes. n Graph size parameters: n = |V|, m = |E|. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = |V| = 8 m = |E| = 11

11
Graph Representation Two main methods 11 Adjacency MatrixAdjacency List

12
12 Graph Representation: Adjacency Matrix Adjacency matrix. V-by-V matrix (A) n A[i, j] = 1 if exists edge between node i and node j n Space proportional to V 2 n Checking if (u, v) is an edge takes (1) time. n Identifying all edges takes (V 2 ) time. n For undirected graph matrix is symmetric across the diagonal 1 2 3 4 5 6 7 8 1 0 1 1 0 0 0 0 0 2 1 0 1 1 1 0 0 0 3 1 1 0 0 1 0 1 1 4 0 1 0 1 1 0 0 0 5 0 1 1 1 0 1 0 0 6 0 0 0 0 1 0 0 0 7 0 0 1 0 0 0 0 1 8 0 0 1 0 0 0 1 0 Vertices

13
13 Graph Representation: Adjacency List Adjacency list. Node indexed array of lists. n Two representations of each edge. n Space proportional to O(E + V). n Checking if (u, v) is an edge takes O(deg(u)) time. n Identifying all edges takes (E + V) time. 1 23 2 3 4 25 5 6 7 38 8 1345 125 8 7 2346 5 degree = number of neighbors of u 37

14
Degree of a Node In-degree(v): Number of edges coming to (entering) node v Out-degree(v): Number of edges getting out (leaving) node v For Undirected graphs In-degree = Out-degree 14 In-degree(V3) = Out-degree(3) = 5 In-degree(E) = 2 Out-degree(E) = 3

15
Graph Traversal 15

16
Graph Traversal Graph Traversal means visiting each node in the graph There is a starting node (s) Two main types of traversal Breadth-First-Search (BFS) Depth-First-Search (DFS) Both are applicable for directed and undirected graphs 16 BFSDFS

17
17 Breadth First Search s 2 5 4 7 8 369 s L1L1 L2L2 L n-1 Visit the nodes one-level at a time Requires a queue (First-come-first-served)

18
18 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s

19
19 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: s 2 Top of queue 3 1 1

20
20 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: s 2 3 Top of queue 5 1 1 1

21
21 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 2 3 5 Top of queue 1 1 1

22
22 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 2 3 5 Top of queue 4 1 1 1 2

23
23 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 2 3 5 4 Top of queue 1 1 1 2 5 already discovered: don't enqueue

24
24 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 2 3 5 4 Top of queue 1 1 1 2

25
25 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 3 5 4 Top of queue 1 1 1 2

26
26 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 3 5 4 Top of queue 1 1 1 2 6 2

27
27 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 3 5 4 6 Top of queue 1 1 1 2 2

28
28 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 5 4 6 Top of queue 1 1 1 2 2

29
29 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 5 4 6 Top of queue 1 1 1 2 2

30
30 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 4 6 Top of queue 1 1 1 2 2

31
31 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 4 6 Top of queue 1 1 1 2 2 8 3

32
32 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 4 6 8 Top of queue 1 1 1 2 2 3

33
33 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 6 8 Top of queue 1 1 1 2 2 3 7 3

34
34 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 6 8 7 Top of queue 1 1 1 2 2 3 9 3 3

35
35 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 6 8 7 9 Top of queue 1 1 1 2 2 3 3 3

36
36 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 8 7 9 Top of queue 1 1 1 2 2 3 3 3

37
37 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 7 9 Top of queue 1 1 1 2 2 3 3 3

38
38 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 7 9 Top of queue 1 1 1 2 2 3 3 3

39
39 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 7 9 Top of queue 1 1 1 2 2 3 3 3

40
40 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 7 9 Top of queue 1 1 1 2 2 3 3 3

41
41 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 9 Top of queue 1 1 1 2 2 3 3 3

42
42 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 9 Top of queue 1 1 1 2 2 3 3 3

43
43 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: 9 Top of queue 1 1 1 2 2 3 3 3

44
44 Breadth First Search s 2 5 4 7 8 369 0 Undiscovered Discovered Finished Queue: Top of queue 1 1 1 2 2 3 3 3

45
45 Breadth First Search s 2 5 4 7 8 369 0 Starting from s, we visited all (reachable) nodes BFS forms a tree rooted at s (BFS Tree) For each node x reachable from s we created a shortest path from s to x 1 1 1 2 2 3 3 3

46
46 Breadth First Search Example problems in which we use BFS Find if node x is reachable from node y Start from node y and do BFS Find the shortest path from node x to node y Start from node x and perform BFS Search for a value v in the graph Start from any node and perform BFS Always keep in mind whether we talk about undirected graph or directed graph

47
47 Breadth First Search: Algorithm Start at node v Can do any processing on t

48
48 Breadth First Search: Analysis Theorem. The above implementation of BFS runs in O(V + E) time if the graph is given by its adjacency list. Proof n Each node will be queued only once O(V) n For each node, we visit all its out edges O(E) – In fact each edge (u,v) is visited twice once from u’s side and once form v’s side n Total is O(V + E)

Similar presentations

OK

CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 6.

CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 6.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Thin film transistor display ppt online Ppt on civil engineering structures Ppt on judiciary system in india Ppt on co scholastic activities Edit ppt on iphone Ppt on small hydro power plant Ppt on commercial use of microorganisms Ppt on adr and drive Ppt on drinking water problems in rural areas Ppt on emotional intelligence for students