graph a graph g is a set v(g) of vertices (nodes) and a set e(g) of edges which are pairs of...
TRANSCRIPT
![Page 1: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/1.jpg)
GraphA graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices.
a b c d
e
i
f g h
j k l
V = { a, b, c, d, e, f, g, h, i, j, k, l }E = { (a, b), (a, e), (b, e), (b, f), (c, j), (c, g), (c, h), (d, h), (e, j), (g, k), (g, l), (g, h), (i, j) }
![Page 2: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/2.jpg)
A Directed Graph In a directed graph (digraph), edges are ordered pairs.
TW 45
UA
120
AA 49
AA 411
AA 523
AA
1387
DL
335
UA
877
AA 903
DL 247
NW 35
From Goodrich and Tamassia (1998)
SFO
ORDBOS
JFK
LAX DFW
MIA
![Page 3: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/3.jpg)
Applications of Graphs
Graphs describe relationships
The Internet
Streets / Highways (Roadmaps)
Molecules
Social Networks
Geometric Surfaces (CAD)
Circuits
Parts in an Assembly
… JohnYoko Ringo
George
Paul
Linda
Flow Charts
![Page 4: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/4.jpg)
More General GraphsA multipgraph allows multiple edges between two vertices.
a
b d f
c
A pseudograph is a multigraph that allows self-loops (edges from a vertex to itself).
1
54
2 3
6
![Page 5: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/5.jpg)
Edges & Degrees
u
w
v
e
e1
2
endpoint
incident on u and v
degree(u) = 2
deg(w) = 1
b
a
d
e
c
destination
source
in-degree(b) = 3out-degree(b) = 4
u and v are adjacent
![Page 6: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/6.jpg)
Handshaking Theorem
Let G = (V, E) be an undirected simple graph.
∑ deg(v) = 2 | E |
v V
If G is directed:
∑∑v Vv V
indeg(v) = outdeg(v) = | E |
| E | ≤ | V | · (| V | – 1) / 2
K has ( ) = 6 edges442
| E | ≤ | V | · (| V | – 1)
![Page 7: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/7.jpg)
Path
A path of length k is a sequence v , v , …, v of vertices such that (v , v ) for i = 0, 1, …, k – 1 is an edge of G.
0 1 k
i i+1
g
a
e
j
n
b
f
k
dc
o
h
l
p
m
q
Non-simple path:
a, b, e, f, g, b, g, l
Simple path:a, e, k, p, l, qm, h, d, c, g
(no repeatedvertices)
b, c, d not a path
![Page 8: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/8.jpg)
Cycle
a
e
j
n
b
f
k
dc
o
g h
l
p
m
q
A cycle is a path that starts and ends at the same vertex.
A simple cycle has no repeated vertices.
k, j, n, k, p, o,k is not simple.
![Page 9: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/9.jpg)
Subgraph
a
e
j
n
b
f
k
dc
o
g h
l
p
m
q
A subgraph H of Gis a graph; its edges and vertices are subsets of those of G.
V(H) = {b, d, e, f, g, h, l, p, q} E(H) = {(b, e), (b, g), (e, f), (d, h), (l, p), (l, q)}
![Page 10: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/10.jpg)
ConnectivityG is connected if there is a path between every pair of vertices.
a
b
d
fe
c
If G is not connected, the maximal connected subgraphs are the connected components of G.
e f ga
cb
dC
CC
1
32
![Page 11: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/11.jpg)
Strong & Weak Connectivity
A directed graph is strongly connected if every two vertices are reachable from each other.
a
f
e
cd
b
It is weakly connected if the underlying undirected graph is connected.
f
e
a
d
c
b
![Page 12: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/12.jpg)
Property of Connectivity
Let G = (V, E) be an undirected graph.
If G is connected, then | E | ≥ | V | – 1.
If G is a tree, then | E | = | V | – 1.
If G is a forest, then | E | ≤ | V | – 1.
![Page 13: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/13.jpg)
Adjacency Lists
2
1 3
5 4
2 3 5
1 3
1 2 4 5
3 5
1 3 4
If G is directed, the total length of all the adjacency lists is | E |.
1
2
3
4
5
Adj
If G is undirected, the total length is 2 | E |.
Space requirement: (|V| + |E|). Preferable representation.
![Page 14: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/14.jpg)
Adjacency Matrix
2
1 3
5 4
ijA = (a )
a = ij
1 if (i, j) E(G)
0 otherwise
1 0 1 1 0 12 1 0 1 0 03 1 1 0 1 14 0 0 1 0 15 1 0 1 1 0
1 2 3 4 5
Space: (|V| ). 2
Preferred when the graph is small or dense.
![Page 15: Graph A graph G is a set V(G) of vertices (nodes) and a set E(G) of edges which are pairs of vertices. abcd e i fgh jkl V = { a, b, c, d, e, f, g, h, i,](https://reader035.vdocuments.net/reader035/viewer/2022070403/56649f2e5503460f94c4862d/html5/thumbnails/15.jpg)
Operation Time
Operation Adjacency List Adjacency Matrix
Scan incident edges (deg(v)) (|V|)
Test adjacency of u and v
(min(deg(u), deg(v)) (1)
Scan outgoing edges (outdeg(v)) (|V|)
Scan incoming edges (indeg(v)) (|V|)
Lecture notes modified over Dr. Fernandez-Baca’s
Space (|V|+|E|) (|V| )2