10/20/2009
2
Example Directed Graph (Digraph)
7
b
a
c
d
e
f
V = {a,b,c,d,e,f }
E = {(a,b), (a,c), (a,e), (b,c), (b,d), (b,e), (c,d),
(c,f), (d,e), (d,f), (e,f)}
|V| = 6, |E| = 11
Example
Undirected
Graph
8
An
undirected graph
is just like a directed graph,
except the edges are
unordered pairs
(
sets
) {u,v}
Example:
b
d
a
c
e
f
V = {a,b,c,d,e,f }
E = {{a,b}, {a,c}, {a,e}, {b,c}, {b,d}, {b,e}, {c,d}, {c,f},
{d,e}, {d,f}, {e,f}}
Some Graph Terminology
9
±
Vertices u and v are called the
source
and
sink
of the directed edge
(u,v), respectively
±
Vertices u and v are called the
endpoints
of (u,v)
±
Two vertices are
adjacent
if they are connected by an edge
±
The
outdegree
of a vertex u in a directed graph is the number of
edges for which u is the source
±
The
indegree
of a vertex v in a directed graph is the number of edges
for which v is the sink
±
The
degree
of a vertex u in an undirected graph is the number of
edges of which u is an endpoint
b
a
c
e
d
f
b
a
c
d
e
f
More Graph Terminology
10
±
A
path
is a sequence v
0
,v
1
,v
2
,...,v
p
of vertices such
that (v
i
,v
i+1
)
א
E, 0
≤
i
≤
p – 1
±
The
length of a path
is its number of edges
±
In this example, the length is 5
v
0
v
5
±
A path is
simple
if it does not repeat any vertices
±
A
cycle
is a path v
0
,v
1
,v
2
,...,v
p
such that v
0
= v
p
±
A cycle is
simple
if it does not repeat any
vertices except the first and last
±
A graph is
acyclic
if it has no cycles
±
A directed acyclic graph is called a
dag
b
a
c
d
e
f
Is This a Dag?
11
b
a
c
d
e
f
±
Intuition:
±
If it’s a dag, there must be a vertex with indegree zero
–why?
±
This idea leads to an algorithm
±
A digraph is a dag if and only if we can iteratively
delete indegree-0 vertices until the graph disappears
Is This a Dag?
12
b
a
c
d
e
f
±
Intuition:
±
If it’s a dag, there must be a vertex with indegree zero
±
This idea leads to an algorithm
±
A digraph is a dag if and only if we can iteratively
delete indegree-0 vertices until the graph disappears