Chapter 9 Graphs
description
Transcript of Chapter 9 Graphs
![Page 1: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/1.jpg)
CHAPTER 9
GRAPHSGRAPHS
![Page 2: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/2.jpg)
Simple Graph2
A simple graph consists of a nonempty set of vertices (nodes)
called V a set of edges (unordered pairs of
distinct elements of (V) called E Notation: G = (V,E)
![Page 3: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/3.jpg)
Simple Graph Example3
This simple graph represents a network. The network is made up of computers and telephone
links between computers
San Francisco
Denver
Los Angeles
New York
ChicagoWashington
Detroit
![Page 4: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/4.jpg)
Multigraph4
A multigraph can have multiple edges (two or more edges connecting the same pair of vertices).
San Francisco
DenverLos Angeles
New York
ChicagoWashington
Detroit
There can be multiple telephone lines between two computers in the network.
![Page 5: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/5.jpg)
Pseudograph5
A Pseudograph can have multiple edges and loops (an edge connecting a vertex to itself).
There can be telephone lines in the network from a computer to itself.
San FranciscoDenver
Los Angeles
New YorkChicago
Washington
Detroit
![Page 6: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/6.jpg)
PseudographsMultigraphs
Types of Undirected Graphs6
Simple Graphs
![Page 7: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/7.jpg)
Simple Directed Graph7
The edges are ordered pairs of (not necessarily distinct) vertices.
San Francisco
Denver
Los Angeles
New YorkChicago
Washington
Detroit
Some telephone lines in the network may operate in only one direction. Those that operate in two directions are represented by pairs of edges in opposite directions.
![Page 8: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/8.jpg)
Directed Multigraph8
A directed multigraph is a directed graph with multiple edges between the same two distinct vertices.
San Francisco
DenverLos Angeles
New YorkChicago
Washington
Detroit
There may be several one-way lines in the same direction from one computer to another in the network.
![Page 9: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/9.jpg)
Types of Directed Graphs9
DirectedMultigraphs
Simple Directed Graphs
![Page 10: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/10.jpg)
Graph Model Structure10
Three key questions can help us understand the structure of a graph:1. Are the edges of the graph undirected or directed (or
both)?2. If the graph is undirected, are the multiple edges present
that connect the same pair of vertices? 3. If the graph is directed, are multiple directed edges
present?4. Are the loops present?
![Page 11: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/11.jpg)
Example : Precedence Graphs11
In concurrent processing, some statements must be executed before other statements. A precedence graph represents these relationships.
![Page 12: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/12.jpg)
Summary
Type Edges Loops
Multiple Edges
Simple Graph Undirected
NO NO
Multigraph Undirected
NO YES
Pseudograph Undirected
YES YES
Simple Directed Graph
Directed NO NO
Directed Multigraph
Directed YES YES
12
![Page 13: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/13.jpg)
Section 9.2Graph TerminologyGraph Terminology
13
![Page 14: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/14.jpg)
Adjacent Vertices in Undirected Graphs14
Two vertices, u and v in an undirected graph G are called adjacent (or neighbors) in G, if {u,v} is an edge of G.
An edge e connecting u and v is called incident with vertices u and v, or is said to connect u and v.
The vertices u and v are called endpoints of edge {u,v}.
![Page 15: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/15.jpg)
Degree of a Vertex15
The degree of a vertex in an undirected graph is the number of edges incident with it except that a loop at a vertex contributes
twice to the degree of that vertex The degree of a vertex v is denoted by
deg(v).
![Page 16: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/16.jpg)
Example16
Find the degrees of all the vertices: deg(a) = 2, deg(b) = 6, deg(c) = 4, deg(d) = 1,deg(e) = 0, deg(f) = 3, deg(g) = 4
a
b
g e
c d
f
![Page 17: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/17.jpg)
Adjacent Vertices in Directed Graphs17
When (u,v) is an edge of a directed graph G, u is said to be adjacent (Neigbour) to v and v is said to be adjacent from u.
initial vertex terminal vertex
(u, v)
![Page 18: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/18.jpg)
Degree of a Vertex18
In-degree of a vertex v The number of vertices adjacent to v (the number of
edges with v as their terminal vertex Denoted by deg(v)
Out-degree of a vertex v The number of vertices adjacent from v (the number of
edges with v as their initial vertex) Denoted by deg+(v)
A loop at a vertex contributes 1 to both the in-degree and out-degree.
![Page 19: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/19.jpg)
Example19
Find the in-degrees and out-degrees of this digraph?Solution: In-degrees: deg -(a) = 2, deg -(b) = 2, deg -(c) = 3, deg -(d) = 2, deg -(e) = 3, deg-(f) = 0Out-degrees: deg+(a) = 4, deg+(b) = 1, deg+(c) = 2, deg+(d) = 2, deg+
(e) = 3, deg+(f) = 0
![Page 20: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/20.jpg)
Theorem 3
The sum of the in-degrees of all vertices in a digraph = the sum of the out-degrees = the number of edges. (an edge is in for a vertex and out for the other)
Let G = (V, E) be a graph with directed edges. Then:
EvvVvVv
degdeg
20
![Page 21: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/21.jpg)
Complete Graph
The complete graph on n vertices (Kn) is the simple graph that contains exactly one edge between each pair of distinct vertices.
The figures above represent the complete graphs, Kn, for n = 1, 2, 3, 4, 5, and 6.
21
![Page 22: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/22.jpg)
Cycle22
The cycle Cn (n 3), consists of n vertices v1, v2, …, vn and edges {v1,v2}, {v2,v3}, …, {vn-1,vn}, and {vn,v1}.
C3 C4 C5 C6Cycles:
![Page 23: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/23.jpg)
Wheel23
When a new vertex is added to a cycle Cn and this new vertex is connected to each of the n vertices in Cn, we obtain a wheel Wn.
W3 W4 W6W5Wheels:
![Page 24: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/24.jpg)
Bipartite Graph24
A simple graph is called bipartite if its vertex set V can be partitioned into two disjoint nonempty sets V1 and V2 such that every edge in the graph connects a vertex in V1 and a vertex in V2 (so that no edge in G connects either two vertices in V1 or two vertices in V2).
a b
c d
e
b
c
a
d
e
![Page 25: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/25.jpg)
Bipartite Graph (Example)25
Is C6 Bipartite?
Yes. Why?Because:• Its vertex set can be partitioned into the two sets V1 = {v1, v3, v5} and V2 = {v2, v4, v6}• Every edge of C6 connects a vertex in V1 with a vertex in V2
1 2
6 3
5 4
![Page 26: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/26.jpg)
Bipartite Graph (Example)26
Is K3 Bipartite?
No. Why not?Because:• Each vertex in K3 is connected to every other vertex by an edge• If we divide the vertex set of K3 into two disjoint sets, one set must contain two vertices• These two vertices are connected by an edge• But this can’t be the case if the graph is bipartite
1
2 3
![Page 27: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/27.jpg)
Subgraph27
A subgraph of a graph G = (V,E) is a graph H = (W,F) where W V and F E.
C5K5
Is C5 a subgraph of K5?
![Page 28: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/28.jpg)
Union28
The union of 2 simple graphs G1 = (V1, E1) and G2 = (V2, E2) is the simple graph with vertex set V = V1V2 and edge set E = E1E2. The union is denoted by G1G2.
C5
b
a
c
e
d
S5
a
b
c
e
d f
W5
b d
a
c
e
f
S5 C5 = W5
![Page 29: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/29.jpg)
Section 9.3Representing GraphsRepresenting Graphs
29
![Page 30: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/30.jpg)
Adjacency Matrix30
A simple graph G = (V,E) with n vertices can be represented by its adjacency matrix, A, where the entry aij in row i and column j is:
otherwise
in edgean is }{ if 0
1 G,vva ji
ij
![Page 31: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/31.jpg)
Adjacency Matrix Example31
a b c d e f
abcdef
From
To
W5
db
a
c
e
f
{v1,v2}row column
0 1 0 0 1 11 0 1 0 0 10 1 0 1 0 10 0 1 0 1 11 0 0 1 0 11 1 1 1 1 0
![Page 32: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/32.jpg)
Incidence Matrix 32
Let G = (V,E) be an undirected graph. Suppose v1,v2,v3,…,vn are the vertices and e1,e2,e3,…,em are the edges of G. The incidence matrix with respect to this ordering of V and E is the nm matrix M = [mij], where
otherwise 0
ith incident w is edge if 1 ijij
vem
![Page 33: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/33.jpg)
Incidence Matrix Example33
Represent the graph shown with an incidence matrix.
1 1 0 0 0 00 0 1 1 0 10 0 0 0 1 11 0 1 0 0 00 1 0 1 1 0
v1v2v3v4v5
vertices
e1 e2 e3 e4 e5 e6 edgesv1 v2 v3
v4 v5
e1e2
e3 e4 e5
e6
![Page 34: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/34.jpg)
Section 9.4ConnectivityConnectivity
34
![Page 35: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/35.jpg)
Paths in Undirected Graphs35
There is a path from vertex v0 to vertex vn if there is a sequence of edges from v0 to vn
This path is labeled as v0,v1,v2,…,vn and has a length of m.
The path is a circuit if the path begins and ends with the same vertex.
A path is simple if it does not contain the same edge more than once.
A path or circuit is said to pass through the vertices v0, v1, v2, …, vn or traverse the edges e1, e2, …, en.
![Page 36: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/36.jpg)
Example36
• u1, u4, u2, u3
– Is it simple? – yes
– What is the length? – 3
– Does it have any circuits? – no
u1 u2
u5 u4 u3
![Page 37: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/37.jpg)
Example37
• u1, u5, u4, u1, u2, u3
– Is it simple?– yes
– What is the length?– 5
– Does it have any circuits?– Yes; u1, u5, u4, u1
u1 u2
u5 u3 u4
![Page 38: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/38.jpg)
Example38
• u1, u2, u5, u4, u3
– Is it simple?– yes
– What is the length?– 4
– Does it have any circuits?– no
u1 u2
u5 u3 u4
![Page 39: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/39.jpg)
Connectedness39
An undirected graph is called connected if there is a path between every pair of distinct vertices of the graph.
Theorem 1 There is a simple path between every pair of distinct
vertices of a connected undirected graph.
![Page 40: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/40.jpg)
Example40
Are the following graphs connected?
c
e
f
a
d
b
g
e
c
a
f
b
d
Yes No
![Page 41: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/41.jpg)
Connectedness (Cont.)41
A graph that is not connected is the union of two or more disjoint connected subgraphs (called the connected components of the graph).
![Page 42: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/42.jpg)
Example42
What are the connected components of the following graph?
b
a c
d e
h g
f
![Page 43: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/43.jpg)
Example43
What are the connected components of the following graph?
b
a c
d e
h g
f
{a, b, c} {d, e} {f, g, h}
![Page 44: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/44.jpg)
Connectedness in Directed Graphs44
A directed graph is strongly connected if there is a directed path between every pair of vertices.
A directed graph is weakly connected if there is a path between every pair of vertices in the underlying undirected graph.
![Page 45: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/45.jpg)
Example45
Is the following graph strongly connected? Is it weakly connected?
a b
c
e d
This graph is strongly connected. Why? Because there is a directed path between every pair of vertices.
If a directed graph is strongly connected, then it must also be weakly connected.
![Page 46: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/46.jpg)
Example46
Is the following graph strongly connected? Is it weakly connected?a b
c
e d
This graph is not strongly connected. Why not? Because there is no directed path between a and b, a and e, etc.
However, it is weakly connected. (Imagine this graph as an undirected graph.)
![Page 47: Chapter 9 Graphs](https://reader035.fdocuments.us/reader035/viewer/2022062411/56815d48550346895dcb4f0c/html5/thumbnails/47.jpg)
ConclusionConclusion47
In this chapter we have covered: Introduction to Graphs Graph Terminology Representing Graphs Graph Connectivity
Refer to chapter 9 of the book for further reading.