Data Structures Lecture 14

Size: px
Start display at page:

Download "Data Structures Lecture 14"

Transcription

1 Fall 2018 Fang Yu Software Security Lab. ept. Management Information Systems, National hengchi University ata Structures Lecture 14

2 Graphs efinition, Implementation and Traversal

3 Graphs Formally speaking, a graph is a pair (V, ), where V is a set of nodes, called vertices is a collection of pairs of vertices, called edges Vertices and edges are positions and store elements

4 Graphs xample: vertex represents an airport and stores the three-letter airport code n edge represents a flight route between two airports and stores the mileage of the route SFO 1843 OR 849 PV LG HNL 2555 LX 1233 FW 1120 MI

5 dge Types irected edge ordered pair of vertices (u,v) first vertex u is the origin second vertex v is the destination e.g., a flight OR flight 1206 PV Undirected edge unordered pair of vertices (u,v) e.g., a flight route OR 849 miles PV irected graph all the edges are directed e.g., route network Undirected graph all the edges are undirected e.g., flight network

6 pplications lectronic circuits Printed circuit board Integrated circuit cslab1a cs.brown.edu cslab1b math.brown.edu Transportation networks Highway network Flight network omputer networks Local area network Internet Web atabases ntity-relationship diagram att.net Paul cox.net brown.edu avid John qwest.net

7 Terminology nd vertices (or endpoints) of an edge U and V are the endpoints of a dges incident on a vertex a, d, and b are incident on V djacent vertices U and V are adjacent egree of a vertex X has degree 5 U a c V d W b e X g h i Z j Parallel edges h and i are parallel edges f Y Self-loop j is a self-loop

8 Terminology (cont.) Path sequence of alternating vertices and edges begins with a vertex ends with a vertex each edge is preceded and followed by its endpoints Simple path path such that all its vertices and edges are distinct U a c d V P 2 W b e P 1 X g h Z xamples P 1 =(V,b,X,h,Z) is a simple path P 2 =(U,c,W,e,X,g,Y,f,W,d,V) is a path that is not simple f Y

9 Terminology (cont.) ycle circular sequence of alternating vertices and edges each edge is preceded and followed by its endpoints Simple cycle cycle such that all its vertices and edges are distinct xamples 1 =(V,b,X,g,Y,f,W,c,U,a, ) is a simple cycle 2 =(U,c,W,e,X,g,Y,f,W,d,V,a, ) is a cycle that is not simple U a c d V 2 W f e b X Y 1 g h Z

10 Properties Notation n number of vertices m number of edges deg(v) degree of vertex v xample n n = 4 n m = 6 n deg(v) = 3

11 Properties Property 1 Σ v deg(v) = 2m Proof: each edge is counted twice Property 2 In an undirected graph with no self-loops and no multiple edges m n (n 1)/2 Proof: each vertex has degree at most (n 1) What is the bound for a directed graph?

12 Main Methods of the Graph T Vertices and edges are positions store elements ccessor methods endvertices(e): an array of the two endvertices of e opposite(v, e): the vertex opposite of v on e aredjacent(v, w): true iff v and w are adjacent replace(v, x): replace element at vertex v with x replace(e, x): replace element at edge e with x

13 Main Methods of the Graph T Update methods insertvertex(o): insert a vertex storing element o insertdge(v, w, o): insert an edge (v,w) storing element o removevertex(v): remove vertex v (and its incident edges) removedge(e): remove edge e Iterable collection methods incidentdges(v): edges incident to v vertices(): all vertices in the graph edges(): all edges in the graph

14 dge List Structure Vertex object element reference to position in vertex sequence dge object element origin vertex object destination vertex object reference to position in edge sequence u a c b d v w z u v w z Vertex sequence sequence of vertex objects dge sequence sequence of edge objects a b c d

15 djacency List Structure dge list structure Incidence sequence for each vertex sequence of references to edge objects of incident edges a v b u w u v w ugmented edge objects references to associated positions in incidence sequences of end vertices a b

16 djacency Matrix Structure dge list structure ugmented vertex objects Integer key (index) associated with vertex u a v b w 2-array adjacency array Reference to edge object for adjacent vertices Null for non nonadjacent vertices The old fashioned version just has 0 for no edge and 1 for edge 0 u 1 v 2 w a b

17 Performance n vertices, m edges no parallel edges no self-loops dge List djacency List djacency Matrix Space incidentdges(v) aredjacent (v, w) insertvertex(o) insertdge(v, w, o) removevertex(v) removedge(e)

18 Performance n vertices, m edges no parallel edges no self-loops dge List djacency List djacency Matrix Space n + m n + m n 2 incidentdges(v) m deg(v) n aredjacent (v, w) m min(deg(v), deg(w)) 1 insertvertex(o) 1 1 n 2 insertdge(v, w, o) removevertex(v) m deg(v) n 2 removedge(e) 1 1 1

19 Graph Traversal How to visit all vertices? epth-first Search

20 Subgraphs subgraph S of a graph G is a graph such that The vertices of S are a subset of the vertices of G The edges of S are a subset of the edges of G Subgraph spanning subgraph of G is a subgraph that contains all the vertices of G Spanning subgraph

21 onnectivity graph is connected if there is a path between every pair of vertices connected component of a graph G is a maximal connected subgraph of G onnected graph Non connected graph with two connected components

22 Trees and Forests (free) tree is an undirected graph T such that T is connected T has no cycles This definition of tree is different from the one of a rooted tree Tree forest is an undirected graph without cycles The connected components of a forest are trees Forest

23 Spanning Trees and Forests spanning tree of a connected graph is a spanning subgraph that is a tree spanning tree is not unique unless the graph is a tree Graph Spanning trees have applications to the design of communication networks spanning forest of a graph is a spanning subgraph that is a forest Spanning tree

24 epth-first Search epth-first search (FS) is a general technique for traversing a graph FS traversal of a graph G Visits all the vertices and edges of G etermines whether G is connected omputes the connected components of G omputes a spanning forest of G FS on a graph with n vertices and m edges takes O (n + m ) time FS can be further extended to solve other graph problems Find and report a path between two given vertices Find a cycle in the graph epth-first search is to graphs what uler tour is to binary trees

25 FS lgorithm The algorithm uses a mechanism for setting and getting labels of vertices and edges lgorithm FS(G) Input graph G Output labeling of the edges of G as discovery edges and back edges for all u G.vertices() setlabel(u, UNXPLOR) for all e G.edges() setlabel(e, UNXPLOR) for all v G.vertices() if getlabel(v) = UNXPLOR FS(G, v) lgorithm FS(G, v) Input graph G and a start vertex v of G Output labeling of the edges of G in the connected component of v as discovery edges and back edges setlabel(v, VISIT) for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) FS(G, w) else setlabel(e, K)

26 xample visited vertex unexplored vertex unexplored edge discovery edge back edge

27 xample (cont.)

28 FS and Maze Traversal The FS algorithm is similar to a classic strategy for exploring a maze We mark each intersection, corner and dead end (vertex) visited We mark each corridor (edge ) traversed We keep track of the path back to the entrance (start vertex) by means of a rope (recursion stack)

29 Properties of FS Property 1 FS(G, v) visits all the vertices and edges in the connected component of v Property 2 The discovery edges labeled by FS(G, v) form a spanning tree of the connected component of v

30 nalysis of FS Setting/getting a vertex/edge label takes O(1) time ach vertex is labeled twice once as UNXPLOR once as VISIT ach edge is labeled twice once as UNXPLOR once as ISOVRY or K Method incidentdges is called once for each vertex FS runs in O(n + m) time provided the graph is represented by the adjacency list structure Recall that Σ v deg(v) = 2m

31 Path Finding We can specialize the FS algorithm to find a path between two given vertices u and z using the template method pattern We call FS(G, u) with u as the start vertex We use a stack S to keep track of the path between the start vertex and the current vertex s soon as destination vertex z is encountered, we return the path as the contents of the stack lgorithm pathfs(g, v, z) setlabel(v, VISIT) S.push(v) if v = z return S.elements() for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) S.push(e) pathfs(g, w, z) S.pop(e) else setlabel(e, K) S.pop(v)

32 ycle Finding We can specialize the FS algorithm to find a simple cycle using the template method pattern We use a stack S to keep track of the path between the start vertex and the current vertex s soon as a back edge (v, w) is encountered, we return the cycle as the portion of the stack from the top to vertex w lgorithm cyclefs(g, v, z) setlabel(v, VISIT) S.push(v) for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) S.push(e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) pathfs(g, w, z) S.pop(e) else T new empty stack repeat o S.pop() T.push(o) until o = w return T.elements() S.pop(v)

33 readth-first Search Traverse the graph level by level L 0 L 1 L 2 F

34 readth-first Search readth-first search (FS) is a general technique for traversing a graph FS traversal of a graph G Visits all the vertices and edges of G etermines whether G is connected omputes the connected components of G omputes a spanning forest of G FS on a graph with n vertices and m edges takes O (n + m ) time FS can be further extended to solve other graph problems Find and report a path with the minimum number of edges between two given vertices Find a simple cycle, if there is one

35 FS lgorithm The algorithm uses a mechanism for setting and getting labels of vertices and edges lgorithm FS(G) Input graph G Output labeling of the edges and partition of the vertices of G for all u G.vertices() setlabel(u, UNXPLOR) for all e G.edges() setlabel(e, UNXPLOR) for all v G.vertices() if getlabel(v) = UNXPLOR FS(G, v) lgorithm FS(G, s) L 0 new empty sequence L 0.addLast(s) setlabel(s, VISIT) i 0 while L i.ismpty() L i +1 new empty sequence for all v L i.elements() for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) setlabel(w, VISIT) L i +1.addLast(w) else setlabel(e, ROSS) i i +1

36 xample unexplored vertex L 0 visited vertex unexplored edge L 1 discovery edge cross edge F L 0 L 0 L 1 L 1 F F

37 xample (cont.) L 0 L 0 L 1 L 1 F L 2 F L 0 L 0 L 1 L 1 L 2 F L 2 F

38 xample (cont.) L 0 L 0 L 1 L 1 L 2 F L 2 F L 0 L 1 L 2 F

39 Properties Notation G s : connected component of s Property 1 FS(G, s) visits all the vertices and edges of G s Property 2 The discovery edges labeled by FS(G, s) form a spanning tree T s of G s Property 3 For each vertex v in L i The path of T s from s to v has i edges very path from s to v in G s has at least i edges L 1 L 0 L 2 F F

40 nalysis Setting/getting a vertex/edge label takes O(1) time ach vertex is labeled twice once as UNXPLOR once as VISIT ach edge is labeled twice once as UNXPLOR once as ISOVRY or ROSS ach vertex is inserted once into a sequence L i Method incidentdges is called once for each vertex FS runs in O(n + m) time provided the graph is represented by the adjacency list structure Recall that Σ v deg(v) = 2m

41 pplications Using the template method pattern, we can specialize the FS traversal of a graph G to solve the following problems in O(n + m) time ompute the connected components of G ompute a spanning forest of G Find a simple cycle in G, or report that G is a forest Given two vertices of G, find a path in G between them with the minimum number of edges, or report that no such path exists

42 FS vs. FS pplications FS FS Spanning forest, connected components, paths, cycles Shortest paths iconnected components L 0 L 1 F L 2 F FS FS

43 FS vs. FS (cont.) ack edge (v,w) w is an ancestor of v in the tree of discovery edges ross edge (v,w) w is in the same level as v or in the next level L 0 L 1 F L 2 F FS FS

44 Graphs II igraphs, Strongly onnective omponent, Topological Sorting, and Minimum Spanning Tree

45 Java Graph Library No standard library JGraphT n open source library Supports most mentioned Graph functions You can simply download the file and use the library to create your graph

46 Schedule on Jan. 17 I II III IV V 9:00~10:00 10:00~11:00 11:00~12:00 12:00~1:00

47 Schedule on Jan. 17 1:00~2:00 儫 2:00~3:00 I II III IV V 喆 珉彣

48 Lab on Jan 14 Ts will offer an extra lab for you to answer questions on the project MIS P classroom 5F

49 Makeup exam on Jan. 17 Thursday 4:00-5:30. ollege of ommerce 313 Maximal 80 points ynamic programing on LS inary Search Tree (VL) Hash Table ycle etection

Depth-First Search A B D E C

Depth-First Search A B D E C epth-first Search Outline and Reading efinitions (6.1) Subgraph onnectivity Spanning trees and forests epth-first search (6.3.1) lgorithm xample Properties nalysis pplications of FS (6.5) Path finding

More information

Graph ADT. Lecture18: Graph II. Adjacency Matrix. Representation of Graphs. Data Vertices and edges. Methods

Graph ADT. Lecture18: Graph II. Adjacency Matrix. Representation of Graphs. Data Vertices and edges. Methods Graph T S33: ata Structures (0) Lecture8: Graph II ohyung Han S, POSTH bhhan@postech.ac.kr ata Vertices and edges endvertices(e): an array of the two endvertices of e opposite(v,e): the vertex opposite

More information

Lecture 14: Graph Representation, DFS and Applications

Lecture 14: Graph Representation, DFS and Applications Lecture 14: Graph Representation, FS and pplications SFO OR LX FW ourtesy to Goodrich, Tamassia and Olga Veksler Instructor: Yuzhen Xie Outline Graph Representation dge List djacency List djacency Matrix

More information

Breadth-First Search L 1 L Goodrich, Tamassia, Goldwasser Breadth-First Search 1

Breadth-First Search L 1 L Goodrich, Tamassia, Goldwasser Breadth-First Search 1 readth-irst Search 2013 Goodrich, Tamassia, Goldwasser readth-irst Search 1 readth-irst Search readth-first search (S) is a general technique for traversing a graph S traversal of a graph G Visits all

More information

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4)

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4) S on irected Graphs OS OR JK SO LX W MI irected Graphs S 1.3 1 Outline and Reading ( 6.4) Reachability ( 6.4.1) irected S Strong connectivity irected cyclic Graphs (G s) ( 6.4.4) Topological Sorting irected

More information

Graphs 3/25/14 15:37 SFO LAX Goodrich, Tamassia, Goldwasser Graphs 2

Graphs 3/25/14 15:37 SFO LAX Goodrich, Tamassia, Goldwasser Graphs 2 Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Graphs SFO 337 LAX 1843 1743 1233 802 DFW

More information

CHAPTER 13 GRAPH ALGORITHMS

CHAPTER 13 GRAPH ALGORITHMS CHPTER 13 GRPH LGORITHMS SFO LX ORD DFW 1 CKNOWLEDGEMENT: THESE SLIDES RE DPTED FROM SLIDES PROVIDED WITH DT STRUCTURES ND LGORITHMS IN C++, GOODRICH, TMSSI ND MOUNT (WILEY 2004) ND SLIDES FROM JORY DENNY

More information

Depth-First Search and Template Patterns

Depth-First Search and Template Patterns Depth-First Search and Template Patterns A B D E C 1 Outline Template Patterns and Search Depth-first search Algorithm Example Properties Analysis Applications of DFS Path finding Cycle finding CS 4407,

More information

Graphs ORD SFO LAX DFW. Data structures and Algorithms

Graphs ORD SFO LAX DFW. Data structures and Algorithms SFO 143 ORD 337 1743 02 Graphs LAX 1233 DFW Data structures and Algorithms Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++ Goodrich, Tamassia and

More information

Graphs ADTs and Implementations

Graphs ADTs and Implementations Graphs ADTs and Implementations SFO 337 1843 802 ORD LAX 1233 DFW - 1 - Applications of Graphs Ø Electronic circuits cslab1a cslab1b q Printed circuit board math.brown.edu q Integrated circuit Ø Transportation

More information

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed. igraphs ( 12.4) irected Graphs OR OS digraph is a graph whose edges are all directed Short for directed graph pplications one- way streets flights task scheduling irected Graphs 1 irected Graphs 2 igraph

More information

Graph Terminology and Representations

Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Graph Terminology and Representations 1 Graphs A graph is a pair (V, E), where

More information

Graphs ORD SFO LAX DFW. Graphs 1

Graphs ORD SFO LAX DFW. Graphs 1 Graphs ORD 1843 SFO 802 1743 337 1233 LAX DFW Graphs 1 Outline and Reading Graphs ( 12.1) Definition Applications Terminology Properties ADT Data structures for graphs ( 12.2) Edge list structure Adjacency

More information

Applications of BFS and DFS

Applications of BFS and DFS pplications of S and S S all // : PM Some pplications of S and S S o find the shortest path from a vertex s to a vertex v in an unweighted graph o find the length of such a path o construct a S tree/forest

More information

Graphs ORD SFO LAX DFW Goodrich, Tamassia Graphs 1

Graphs ORD SFO LAX DFW Goodrich, Tamassia Graphs 1 Graphs SFO 33 143 ORD 02 LAX 1233 DFW 2004 Goodrich, Tamassia Graphs 1 What is a Graph? (in computer science, it s not a data plot) General structure for representing positions with an arbitrary connectivity

More information

CHAPTER 14 GRAPH ALGORITHMS ORD SFO LAX DFW

CHAPTER 14 GRAPH ALGORITHMS ORD SFO LAX DFW SFO ORD CHAPTER 14 GRAPH ALGORITHMS LAX DFW ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) GRAPH

More information

DataStruct 13. Graph Algorithms

DataStruct 13. Graph Algorithms 2013-2 DataStruct 13. Graph Algorithms Michael T. Goodrich, et. al, Data Structures and Algorithms in C++, 2 nd Ed., John Wiley & Sons, Inc., 2011. December 10, 2013 Advanced Networking Technology Lab.

More information

Analysis of Algorithms Prof. Karen Daniels

Analysis of Algorithms Prof. Karen Daniels UMass Lowell omputer Science 91.404 nalysis of lgorithms Prof. Karen aniels Spring, 2013 hapter 22: raph lgorithms & rief Introduction to Shortest Paths [Source: ormen et al. textbook except where noted]

More information

Graphs ORD SFO LAX DFW

Graphs ORD SFO LAX DFW Graphs SFO 337 1843 802 ORD LAX 1233 DFW Graphs A graph is a pair (V, E), where V is a set of odes, called vertices E is a collectio of pairs of vertices, called edges Vertices ad edges are positios ad

More information

Advanced Data Structures and Algorithms

Advanced Data Structures and Algorithms dvanced ata Structures and lgorithms ssociate Professor r. Raed Ibraheem amed University of uman evelopment, College of Science and Technology Computer Science epartment 2015 2016 epartment of Computer

More information

CS 225. April 16 Graph Traversal. Data Structures. Wade Fagen-Ulmschneider

CS 225. April 16 Graph Traversal. Data Structures. Wade Fagen-Ulmschneider CS 225 Data Structures April 16 Graph Traversal Wade Fagen-Ulmschneider Graph ADT Data: - Vertices - Edges - Some data structure maintaining the structure between vertices and edges. d V W f b e X Y g

More information

3.1 Basic Definitions and Applications

3.1 Basic Definitions and Applications Graphs hapter hapter Graphs. Basic efinitions and Applications Graph. G = (V, ) n V = nodes. n = edges between pairs of nodes. n aptures pairwise relationship between objects: Undirected graph represents

More information

Outline and Reading. Minimum Spanning Tree. Minimum Spanning Tree. Cycle Property. Minimum Spanning Trees ( 12.7)

Outline and Reading. Minimum Spanning Tree. Minimum Spanning Tree. Cycle Property. Minimum Spanning Trees ( 12.7) Outline and Reading Minimum Spanning Tree PV 1 1 1 1 JK 1 15 SO 11 1 LX 15 Minimum Spanning Trees ( 1.) efinitions crucial fact Prim-Jarnik s lgorithm ( 1..) Kruskal s lgorithm ( 1..1) 111 // :1 PM Minimum

More information

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search IS 320 Introduction to lgorithms all 2014 Lecture 15 epth irst Search 1 Traversing raphs Systematic search of every edge and vertex of graph (directed or undirected) fficiency: each edge is visited no

More information

Reading. Graph Terminology. Graphs. What are graphs? Varieties. Motivation for Graphs. Reading. CSE 373 Data Structures. Graphs are composed of.

Reading. Graph Terminology. Graphs. What are graphs? Varieties. Motivation for Graphs. Reading. CSE 373 Data Structures. Graphs are composed of. Reading Graph Reading Goodrich and Tamassia, hapter 1 S 7 ata Structures What are graphs? Graphs Yes, this is a graph. Graphs are composed of Nodes (vertices) dges (arcs) node ut we are interested in a

More information

Lesson 22: Basic Graph Concepts

Lesson 22: Basic Graph Concepts Lesson 22: asic Graph oncepts msc 175 iscrete Mathematics 1. Introduction graph is a mathematical object that is used to model different relations between objects and processes: Linked list Flowchart of

More information

Directed Graphs BOS Goodrich, Tamassia Directed Graphs 1 ORD JFK SFO DFW LAX MIA

Directed Graphs BOS Goodrich, Tamassia Directed Graphs 1 ORD JFK SFO DFW LAX MIA Directed Graphs BOS ORD JFK SFO LAX DFW MIA 2010 Goodrich, Tamassia Directed Graphs 1 Digraphs A digraph is a graph whose edges are all directed Short for directed graph Applications one-way streets flights

More information

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37 L10 Graphs lice. Fischer pril 2016 lice. Fischer L10 Graphs... 1/37 pril 2016 1 / 37 Outline 1 Graphs efinition Graph pplications Graph Representations 2 Graph Implementation 3 Graph lgorithms Sorting

More information

Suggested Study Strategy

Suggested Study Strategy Final Exam Thursday, 7 August 2014,19:00 22:00 Closed Book Will cover whole course, with emphasis on material after midterm (hash tables, binary search trees, sorting, graphs) Suggested Study Strategy

More information

Graph Terminology and Representations

Graph Terminology and Representations Presetatio for use with the textbook, Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 2015 Graph Termiology ad Represetatios 2015 Goodrich ad Tamassia Graphs 1 Graphs A graph is

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

DEPTH-FIRST SEARCH A B C D E F G H I J K L M N O P. Graph Traversals. Depth-First Search

DEPTH-FIRST SEARCH A B C D E F G H I J K L M N O P. Graph Traversals. Depth-First Search PTH-IRST SRH raph Traversals epth-irst Search H I J K L M N O P epth-irst Search 1 xploring a Labyrinth Without etting Lost depth-first search (S) in an undirected graph is like wandering in a labyrinth

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees 0 OS SO LX PV OR 0 JK 0 WI 00 W MI 00 Goodrich, Tamassia Minimum Spanning Trees Minimum Spanning Trees Spanning subgraph Subgraph of a graph G containing all the vertices of G Spanning

More information

Graphs V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

Graphs V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)} Graphs and Trees 1 Graphs (simple) graph G = (V, ) consists of V, a nonempty set of vertices and, a set of unordered pairs of distinct vertices called edges. xamples V={,,,,} ={ (,),(,),(,), (,),(,),(,)}

More information

Chapter 9: Elementary Graph Algorithms Basic Graph Concepts

Chapter 9: Elementary Graph Algorithms Basic Graph Concepts hapter 9: Elementary Graph lgorithms asic Graph oncepts msc 250 Intro to lgorithms graph is a mathematical object that is used to model different situations objects and processes: Linked list Tree (partial

More information

Lecture 16: Directed Graphs

Lecture 16: Directed Graphs Lecture 16: Directed Graphs ORD JFK BOS SFO LAX DFW MIA Courtesy of Goodrich, Tamassia and Olga Veksler Instructor: Yuzhen Xie Outline Directed Graphs Properties Algorithms for Directed Graphs DFS and

More information

11/26/17. directed graphs. CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10. undirected graphs

11/26/17. directed graphs. CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10. undirected graphs directed graphs S 220: iscrete Structures and their pplications collection of vertices and directed edges graphs zybooks chapter 10 collection of vertices and edges undirected graphs What can this represent?

More information

Note. Out of town Thursday afternoon. Willing to meet before 1pm, me if you want to meet then so I know to be in my office

Note. Out of town Thursday afternoon. Willing to meet before 1pm,  me if you want to meet then so I know to be in my office raphs and Trees Note Out of town Thursday afternoon Willing to meet before pm, email me if you want to meet then so I know to be in my office few extra remarks about recursion If you can write it recursively

More information

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph.

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph. Paths Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph. Formal Definition of a Path (Undirected) Let n be a nonnegative integer

More information

Reading. Graph Introduction. What are graphs? Graphs. Motivation for Graphs. Varieties. Reading. CSE 373 Data Structures Lecture 18

Reading. Graph Introduction. What are graphs? Graphs. Motivation for Graphs. Varieties. Reading. CSE 373 Data Structures Lecture 18 Reading Graph Introduction Reading Section 9.1 S 373 ata Structures Lecture 18 11/25/02 Graph Introduction - Lecture 18 2 What are graphs? Yes, this is a graph. Graphs Graphs are composed of Nodes (vertices)

More information

Weighted Graphs ( 12.5) Shortest Paths. Shortest Paths ( 12.6) Shortest Path Properties PVD ORD SFO LGA HNL LAX DFW MIA PVD PVD ORD ORD SFO SFO LGA

Weighted Graphs ( 12.5) Shortest Paths. Shortest Paths ( 12.6) Shortest Path Properties PVD ORD SFO LGA HNL LAX DFW MIA PVD PVD ORD ORD SFO SFO LGA Shortest Paths A Weighted Graphs (.) In a weighted graph, each edge has an associated numerical value, called the weight of the edge dge weights may represent, distances, costs, etc. xample: In a flight

More information

Introduction to Graphs. common/notes/ppt/

Introduction to Graphs.   common/notes/ppt/ Introduction to Graphs http://people.cs.clemson.edu/~pargas/courses/cs212/ common/notes/ppt/ Introduction Graphs are a generalization of trees Nodes or verticies Edges or arcs Two kinds of graphs irected

More information

GRAPH THEORY. What are graphs? Why graphs? Graphs are usually used to represent different elements that are somehow related to each other.

GRAPH THEORY. What are graphs? Why graphs? Graphs are usually used to represent different elements that are somehow related to each other. GRPH THEORY Hadrian ng, Kyle See, March 2017 What are graphs? graph G is a pair G = (V, E) where V is a nonempty set of vertices and E is a set of edges e such that e = {a, b where a and b are vertices.

More information

Campus Tour. 1/18/2005 4:08 AM Campus Tour 1

Campus Tour. 1/18/2005 4:08 AM Campus Tour 1 ampus Tour //00 :0 M ampus Tour Outline and Reading Overview of the assignment Review djacency matrix structure (..) Kruskal s MST algorithm (..) Partition T and implementation (..) The decorator pattern

More information

CHAPTER 14 GRAPH ALGORITHMS ORD SFO LAX DFW

CHAPTER 14 GRAPH ALGORITHMS ORD SFO LAX DFW SO OR HPTR 1 GRPH LGORITHMS LX W KNOWLGMNT: THS SLIS R PT ROM SLIS PROVI WITH T STRUTURS N LGORITHMS IN JV, GOORIH, TMSSI N GOLWSSR (WILY 16) 6 OS MINIMUM SPNNING TRS SO 16 PV OR 1 1 16 61 JK 1 1 11 WI

More information

ECE 242 Data Structures and Algorithms. Graphs II. Lecture 27. Prof.

ECE 242 Data Structures and Algorithms.  Graphs II. Lecture 27. Prof. 242 ata Structures and lgorithms http://www.ecs.umass.edu/~polizzi/teaching/242/ Graphs II Lecture 27 Prof. ric Polizzi Summary Previous Lecture omposed of vertices (nodes) and edges vertex or node edges

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms S 101, Winter 2018 esign and nalysis of lgorithms Lecture 3: onnected omponents lass URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ nd of Lecture 2: s, Topological Order irected cyclic raph.g., Vertices

More information

Data Struct. & Prob. Solving, M.C.Q. BANK, FOR UNIT 3, SECOND YEAR COMP. ENGG. SEM 1, 2012 PATTERN, U.O.P.

Data Struct. & Prob. Solving, M.C.Q. BANK, FOR UNIT 3, SECOND YEAR COMP. ENGG. SEM 1, 2012 PATTERN, U.O.P. UNIT distribution for +1+1 + 1 + + = 11 (Only 1 will be asked for marks, s will be asked for 1 & s asked for marks ) Syllabus for Graphs Programmers perspective of graphs, Graph operations, storage structure,

More information

Graphs. CS16: Introduction to Data Structures & Algorithms Spring 2018

Graphs. CS16: Introduction to Data Structures & Algorithms Spring 2018 Graphs CS16: Introduction to Data Structures & Algorithms Spring 2018 Outline What is a Graph Terminology Properties Graph Types Representations Performance BFS/DFS Applications 2 What is a Graph A graph

More information

Graph Algorithms shortest paths, minimum spanning trees, etc.

Graph Algorithms shortest paths, minimum spanning trees, etc. Graph Algorithms shortest paths, minimum spanning trees, etc. SFO ORD LAX DFW Graphs 1 Outline and Reading Graphs ( 1.1) Definition Applications Terminology Properties ADT Data structures for graphs (

More information

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis TOM 50: Networking Theory & undamentals Lecture pril 6, 2003 Prof. Yannis. Korilis 2 Topics Routing in ata Network Graph Representation of a Network Undirected Graphs Spanning Trees and Minimum Weight

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. Directed

More information

CHAPTER 13 GRAPH ALGORITHMS

CHAPTER 13 GRAPH ALGORITHMS CHAPTER 13 GRAPH ALGORITHMS SFO LAX ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 00) AND SLIDES FROM NANCY

More information

Today s Outline CSE 221: Algorithms and Data Structures Graphs (with no Axes to Grind)

Today s Outline CSE 221: Algorithms and Data Structures Graphs (with no Axes to Grind) Today s Outline S : lgorithms and ata Structures raphs (with no xes to rind) Steve Wolfman 0W Topological Sort: etting to Know raphs with a Sort raph T and raph Representations raph Terminology (a lot

More information

Graphs Weighted Graphs. Reading: 12.5, 12.6, 12.7

Graphs Weighted Graphs. Reading: 12.5, 12.6, 12.7 Graphs Weighted Graphs Reading: 1.5, 1.6, 1. Weighted Graphs, a.k.a. Networks In a weighted graph, each edge has an associated numerical value, called the weight or cost of the edge Edge weights may represent,

More information

Undirected Graphs. 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 = 8 m = 11

Undirected Graphs. 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 = 8 m = 11 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {

More information

Campus Tour Goodrich, Tamassia. Campus Tour 1

Campus Tour Goodrich, Tamassia. Campus Tour 1 ampus Tour 00 oodrich, Tamassia ampus Tour raph ssignment oals Learn and implement the adjacency matrix structure an Kruskal s minimum spanning tree algorithm Understand and use the decorator pattern and

More information

Discrete Structures CISC 2315 FALL Graphs & Trees

Discrete Structures CISC 2315 FALL Graphs & Trees Discrete Structures CISC 2315 FALL 2010 Graphs & Trees Graphs A graph is a discrete structure, with discrete components Components of a Graph edge vertex (node) Vertices A graph G = (V, E), where V is

More information

Programming Abstractions

Programming Abstractions Programming bstractions S 1 0 6 X ynthia ee Upcoming Topics raphs! 1. asics What are they? ow do we represent them? 2. Theorems What are some things we can prove about graphs? 3. readth-first search on

More information

CS2210 Data Structures and Algorithms

CS2210 Data Structures and Algorithms S1 ata Structures and Algorithms Lecture 1 : Shortest Paths A 4 1 5 5 3 4 Goodrich, Tamassia Outline Weighted Graphs Shortest Paths Algorithm (ijkstra s) Weighted Graphs ach edge has an associated numerical

More information

Lecture 9 Graph Traversal

Lecture 9 Graph Traversal Lecture 9 Graph Traversal Euiseong Seo (euiseong@skku.edu) SWE00: Principles in Programming Spring 0 Euiseong Seo (euiseong@skku.edu) Need for Graphs One of unifying themes of computer science Closely

More information

Graph Algorithms shortest paths, minimum spanning trees, etc.

Graph Algorithms shortest paths, minimum spanning trees, etc. SFO ORD LAX Graph Algorithms shortest paths, minimum spanning trees, etc. DFW Nancy Amato Parasol Lab, Dept. CSE, Texas A&M University Acknowledgement: These slides are adapted from slides provided with

More information

Winter 2016 COMP-250: Introduction to Computer Science. Lecture 16, March 10, 2016

Winter 2016 COMP-250: Introduction to Computer Science. Lecture 16, March 10, 2016 Winter 2016-250: Introduction to Computer Science Lecture 16, March 10, 2016 GRAPHS Definitions Examples The Graph ADT PVD HNL LAX DFW STL FTL What is a Graph? Agraph G = (V,E) is composed of: V: set of

More information

Agenda. Graph Representation DFS BFS Dijkstra A* Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp

Agenda. Graph Representation DFS BFS Dijkstra A* Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp Graph Charles Lin genda Graph Representation FS BFS ijkstra * Search Bellman-Ford Floyd-Warshall Iterative? Non-iterative? MST Flow Edmond-Karp Graph Representation djacency Matrix bool way[100][100];

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

Computational Geometry

Computational Geometry Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel

More information

Shortest Paths D E. Shortest Paths 1

Shortest Paths D E. Shortest Paths 1 Shortest Paths A 2 7 2 B C D 2 E F Shortest Paths Outline and Reading Weighted graphs ( 7.) Shortest path problem Shortest path properties Dijkstra s algorithm ( 7..) Algorithm Edge relaxation The Bellman-Ford

More information

CS302 - Data Structures using C++

CS302 - Data Structures using C++ CS302 - Data Structures using C++ Topic: Graphs - Introduction Kostas Alexis Terminology In the context of our course, graphs represent relations among data items G = {V,E} A graph is a set of vertices

More information

Information Science 2

Information Science 2 Information Science 2 - Applica(ons of Basic ata Structures- Week 03 College of Information Science and Engineering Ritsumeikan University Agenda l Week 02 review l Introduction to Graph Theory - Basic

More information

What are graphs? (Take 1)

What are graphs? (Take 1) Lecture 22: Let s Get Graphic Graph lgorithms Today s genda: What is a graph? Some graphs that you already know efinitions and Properties Implementing Graphs Topological Sort overed in hapter 9 of the

More information

Elements of Graph Theory

Elements of Graph Theory Elements of Graph Theory Quick review of Chapters 9.1 9.5, 9.7 (studied in Mt1348/2008) = all basic concepts must be known New topics we will mostly skip shortest paths (Chapter 9.6), as that was covered

More information

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees Chapter 11 Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary Introduction to Trees Applications

More information

Graph Algorithms. Textbook reading. Chapter 3 Chapter 4. CSci 3110 Graph Algorithms 1/41

Graph Algorithms. Textbook reading. Chapter 3 Chapter 4. CSci 3110 Graph Algorithms 1/41 CSci 3110 Graph Algorithms 1/41 Graph Algorithms Textbook reading Chapter 3 Chapter 4 CSci 3110 Graph Algorithms 2/41 Overview Design principle: Learn the structure of a graph by systematic exploration

More information

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10 CS 220: Discrete Structures and their Applications graphs zybooks chapter 10 directed graphs A collection of vertices and directed edges What can this represent? undirected graphs A collection of vertices

More information

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY General definitions; Representations; Graph Traversals; Topological sort; Graphs definitions & representations Graph theory is a fundamental tool in sparse

More information

Multicast routing principles in Internet

Multicast routing principles in Internet Multicast routing principles in Internet Motivation Recap on graphs Principles and algortihms Multicast1-1 Multicast capability has been and is under intensive development since the 1990 s Mone used to

More information

A region is each individual area or separate piece of the plane that is divided up by the network.

A region is each individual area or separate piece of the plane that is divided up by the network. Math 135 Networks and graphs Key terms Vertex (Vertices) ach point of a graph dge n edge is a segment that connects two vertices. Region region is each individual area or separate piece of the plane that

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE, Winter 8 Design and Analysis of Algorithms Lecture : Graphs, DFS (Undirected, Directed), DAGs Class URL: http://vlsicad.ucsd.edu/courses/cse-w8/ Graphs Internet topology Graphs Gene-gene interactions

More information

Data Organization: Creating Order Out Of Chaos

Data Organization: Creating Order Out Of Chaos ata Organization: reating Order Out Of haos 3 Non-linear data structures 5-5 Principles of omputation, arnegie Mellon University - ORTIN Trees tree is a hierarchical (usually non-linear) data structure.

More information

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 13 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite to writing a

More information

CSE 373: Data Structures and Algorithms. Graph Traversals. Autumn Shrirang (Shri) Mare

CSE 373: Data Structures and Algorithms. Graph Traversals. Autumn Shrirang (Shri) Mare SE 373: ata Structures and lgorithms Graph Traversals utumn 2018 Shrirang (Shri) Mare shri@cs.washington.edu Thanks to Kasey hampion, en Jones, dam lank, Michael Lee, Evan Mcarty, Robbie Weber, Whitaker

More information

Multicast routing principles in Internet

Multicast routing principles in Internet Multicast routing principles in Internet Motivation Recap on graphs Principles and algorithms Multicast1-1 Multicast capability has been and is under intensive development since the 1990 s Mone used to

More information

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014 epartment of omputer Science Virginia Tech lacksburg, Virginia opyright c 04 by lifford. Shaffer : Theory of lgorithms Title page : Theory of lgorithms lifford. Shaffer Spring 04 lifford. Shaffer epartment

More information

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018 SE 332: ata Structures & Parallelism Lecture 19: Introduction to Graphs Ruth nderson utumn 2018 Today Graphs Intro & efinitions 11/19/2018 2 Graphs graph is a formalism for representing relationships among

More information

Dijkstra s Algorithm

Dijkstra s Algorithm Dijkstra s Algorithm 7 1 3 1 Weighted Graphs In a weighted graph, each edge has an associated numerical value, called the weight of the edge Edge weights may represent, distances, costs, etc. Example:

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 4 Graphs Definitions Traversals Adam Smith 9/8/10 Exercise How can you simulate an array with two unbounded stacks and a small amount of memory? (Hint: think of a

More information

Definition Example Solution

Definition Example Solution Section 11.4 Spanning Trees Definition: Let G be a simple graph. A spanning tree of G is a subgraph of G that is a tree containing every vertex of G. Example: Find the spanning tree of this simple graph:

More information

Algorithms. Graphs. Algorithms

Algorithms. Graphs. Algorithms Algorithms Graphs Algorithms Graphs Definition: A graph is a collection of edges and vertices. Each edge connects two vertices. Algorithms 1 Graphs Vertices: Nodes, points, computers, users, items,...

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP Complexity & Analysis of Data Structures & Algorithms Overview of Graphs Breadth irst Search, and Depth irst Search hanks to several people who contributed to these slides including Piyush Kumar and

More information

Spanning Trees. CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Motivation. Observations. Spanning tree via DFS

Spanning Trees. CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Motivation. Observations. Spanning tree via DFS Spanning Trees S: ata Structures & lgorithms Lecture : Minimum Spanning Trees simple problem: iven a connected undirected graph =(V,), find a minimal subset of edges such that is still connected graph

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl Graph Theory ICT Theory Excerpt from various sources by Robert Pergl What can graphs model? Cost of wiring electronic components together. Shortest route between two cities. Finding the shortest distance

More information

Graphs: Definitions and Representations (Chapter 9)

Graphs: Definitions and Representations (Chapter 9) oday s Outline Graphs: efinitions and Representations (hapter 9) dmin: HW #4 due hursday, Nov 10 at 11pm Memory hierarchy Graphs Representations SE 373 ata Structures and lgorithms 11/04/2011 1 11/04/2011

More information

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95 Algorithms: Graphs Amotz Bar-Noy CUNY Spring 2012 Amotz Bar-Noy (CUNY) Graphs Spring 2012 1 / 95 Graphs Definition: A graph is a collection of edges and vertices. Each edge connects two vertices. Amotz

More information

Chapter Summary. Introduction to Trees Applications of Trees Tree Traversal Spanning Trees Minimum Spanning Trees

Chapter Summary. Introduction to Trees Applications of Trees Tree Traversal Spanning Trees Minimum Spanning Trees Trees Chapter 11 Chapter Summary Introduction to Trees Applications of Trees Tree Traversal Spanning Trees Minimum Spanning Trees Introduction to Trees Section 11.1 Section Summary Introduction to Trees

More information

March 20/2003 Jayakanth Srinivasan,

March 20/2003 Jayakanth Srinivasan, Definition : A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Definition : In a multigraph G = (V, E) two or

More information

Graph Theory. Many problems are mapped to graphs. Problems. traffic VLSI circuits social network communication networks web pages relationship

Graph Theory. Many problems are mapped to graphs. Problems. traffic VLSI circuits social network communication networks web pages relationship Graph Graph Usage I want to visit all the known famous places starting from Seoul ending in Seoul Knowledge: distances, costs Find the optimal(distance or cost) path Graph Theory Many problems are mapped

More information