3.7 Recurrence Relations

5.4 Shortest-path problem
Let G=(V,E,w) be a weighted connected simple graph,
w is a function from edges set E to position real
numbers set. We denoted the weighted of edge {i,j} by
w(i,j), and w(i,j)=+ when {i,j}E
 Definition 21: Let the length of a path p in a weighted
graph G =(V,E,w) be the sum of the weights of the
edges of this path. We denoted by w(p). The distance
between two vertices u and v is the length of a
shortest path between u and v, we denoted by d(u,v).

uv
0
d (u, v)  
{w( p) | p is a path between u and v} there is a path between u and v
min
p
 Dijkstra’s
algorithm (E.W.Dijkstra)
 Let G=(V,E,w) and |V|=n where w>0.
Suppose that S is a nonempty subset of
V and v1S. Let T=V-S.
Example: Suppose that
(u,v',v'',v''',v) is a
shortest path between u
and v.
Then (u,v',v'',v''') is a
shortest path between u
and v'''.
 Let
vT. l(v) be the length of a shortest
path from v1 to v containing only vertices
in S.
Example : S={a,b},
T={c,d,e,z}
l(c):
ac:a,c 4
a,b,c 3,
l(c)=3。
 l(e)=?
 a,b,e
6;
 a,b,c,e 4, l(e)=4?。
 Note:l(v) is the length of a shortest path from
v1 to v containing only vertices in S.
 l(e)=6, l(d)=8
 l(z)=。
 l(c)=3,l(e)=6,
l(d)=8, l(z)=。
 minvT{l(v)}=l(c)=3 is the length of a
shortest path from a to c.
 Theorem
5.12:Suppose that minvT {l(v)}=
l(v'). Then the length of the shortest path
from v1 to v' is l (v').
Proof: Suppose that there is a path p from v1 to
v', and the length of this path less than l(v').
 Then the path p must conclude some vertices of
T-{v'}.



l(v)?
(1) S={v1},T=V-{v1},for vT
w(v1, v)
l(v)  
 
{v1, v}  E
otherwise
(2)For SV, T=V-S, suppose that these vertices of the shortest
paths from v1 to any vertices of S are in S. By Theorem
5.12(minvT{l(v)}=l(vk), vkT), we gained the result which l(vk)
is the length of the shortest path from v1 to vk(distance)。The
vertex vk is added to S.
(3)Let S'=S∪{vk}, T'=T-{vk}, vT'. Suppose that l'(v) is the
length of a shortest path from v1 to v containing only vertices in
S'. Then l'(v)=min{l(v),l(vk)+w(vk,v))}
(4)Let S=S',T=T', l(v)=l'(v), goto (2)








S={a,b},T={c,d,e,z}
l(c)=3,l(e)=6, l(d)=8, l(z)=+。
minvT{l(v)}=l(c)=3
S’={a,b,c}, T’={d,e,z}
l'(e)=min{ l(e), l(c)+w(c,e)}=4,
l'(d)=min{l(d), l(c)+w(c,d)}=8,
w(c,d)= +
l'(z)=min{l(z), l(c)+w(c,z)}= +
 Theorem
5.13: For vT‘, l’(v)= min{l(v),
l(vk)+w(vk, v)}




Proof: Let S'=S∪{vk}.
Suppose that l‘(v) is the length of a shortest path from v1
to v containing only vertices in S’.
(1)There are some paths from v1 to v, but these paths
don’t contain the vertex vk and other vertices of T'. Then
l(v) is the length of the shortest path of these paths, i.e.
l'(v)=l(v)。
(2)There are some paths from v1 to v, these paths from v1
to vk don’t contain other vertices of T', and the vertex vk
adjacent edge {vk,v}. Then l(vk)+w(vk,v) is the length of
the shortest path of these paths, viz l'(v)= l(vk)+w(vk,v).
 (1)Let
S=,T=V,l(v1)=0,for
vv1
l(v)=+
 Let k=1
 (2)S'=S∪{vk},T'=T-{vk},
 For
each vertex v of T',
 l'(v)=min{l(v),l(vk)+w(vk,v)};
 l'(v)l(v),S'S,T'T。
 (3)minvT{l(v)}=l(vk+1)。
 (4)if k=n-1,then stop

if k<n-1,then k+1k goto (2)。
and
 Example:Find
the length of a shortest path
between a and z in the given weighted
graph
 The
length of a shortest path between a
and z is 13 and the path is (a,c,g,e,f,z)
5.5 Trees
 5.5.1
Trees and their properties
 Definition
22: A tree is a connected undirected
graph with no simple circuit, and is denoted
by T. A vertex of T is a leaf if only if it has
degree one. Vertices are called internal
vertices if the degrees of the vertices are more
than 1. A graph is called a forest if the graph
is not connected and each of the graph’s
connected components is a tree.







Theorem 5.14: Let T be a graph with n vertices. The following
assertions are equivalent.
(1)T is a connected graph with no simple circuit.
(2)T is a graph with no simple circuit and e=n-1 where e is
number of edges of T.
(3)T is a connected graph with e=n-1 where e is number of
edges of T.
(4)T is a graph with no simple circuit, and if x and y are
nonadjacent vertices of T then T+{{x,y}} contains exactly a
simple circuit. T+{{x,y}} is a new graph which is obtained
from T by joining x to y.
(5)T is connected and if {x,y}E(T) then T-{x,y} is
disconnected. Where T-{x,y} is a new graph which is obtained
from T by removing edge {x,y}.
(6)There is a unique simple path between any two of vertices
of T.
Proof:(1)→(2): If T is a connected graph with no
simple circuit, then T is a graph with no simple
circuit and e=n-1. i.e prove e=n-1
 Let us apply induction on the number of vertices of
T.
 When n=2, T is a connected graph with no simple
circuit,

the result holds
Suppose that result holds for n=k
 n=k+1?
 (Theorem 5.4:Let  (G)≥2, then there is a simple
circuit in the graph G.)
 By the theorem 5.4, and T is connected and no
simple circuit.
 There is a vertex that has degree one. Let the vertex
be u, and suppose that u is incident with edge {u,v}.
 We remove the vertex u and edge {u,v} from T, and
get a connected graph T’ with no simple circuit, and
T’ has k vertices.
 By the inductive hypothesis, T’ has k-1 edges.
 e(T)=e(T’)+1=k

 (2)→(3):
T is an acyclic graph with e=n1.Now we prove T is connected and e=n-1. i.e.
prove T is connected
 Suppose T is disconnected. Then T have
(>1) connected components T1,T2,…,T.
The number of vertices of Ti is ni for
i=1,2,…, and n1+n2+…+n=n.




(3)→(4): T is a connected graph with e=n-1, we prove “T is a
graph with no simple circuit, and if x and y are nonadjacent
vertices of T then T+{x,y} contains exactly a simple circuit”.
1)We first prove that T doesn't contain simple circuit.
Let us apply induction on the number of vertices of T.
T is connected with n=2 and e=1,
Thus T doesn't contain any simple circuit. The result
holds when n=2 and e=1
 Suppose
that result holds for n=k-1
 For n=k, (T)1
 There is a vertex that has degree one. The
vertex is denoted by u. i.e d(u)=1.

Why?
 2e2k,
i.e. ek( e=n-1=k-1), contradiction
 We has a new graph T’ which is obtained
from T by removing the vertex u and
incident with edge {u,v}

By the inductive hypothesis, T' doesn't contain any
simple circuit. Thus T doesn't contain any simple
circuit
 2)
If x and y are nonadjacent vertices of T,
then T+{x,y} contains a simple circuit
 There is a simple path from x to y in T.
 (x=vi,vi1,…, vis,vj=y)。
 (x=vi,vi1,…, vis,vj=y,vi=x)。
 3)Next, we prove T+{x,y} contains exactly a
simple circuit.
 Suppose that there are two (or more than)
simple circuit in T+{x,y}.
 (4)→(5):
T is a graph with no simple circuit,
and if x and y are nonadjacent vertices of T,
then T+{x,y} contains exactly a simple circuit.
We prove “T is connected and if {x,y}E(T)
then T-{x,y} is disconnected”.
 Suppose T is disconnected. There are vertices
vi and vj such that there is not any simple
path between vi and vj.
 Add an edge {vi,vj}  T
 The new graph has also no simple circuit.
Contradiction
 (5)→(6):
T is connected and if {x,y}E(T)
then T-{x,y} is disconnected. We prove
“There is a unique simple path between any
two of vertices of T”.
 (6)→(1): There is a unique simple path
between any two of vertices of T. We prove
“T is a connected graph with no simple
circuit”
 T is a connected graph .
 If T contains a simple circuit, then …
 contradiction
 Corollary
5.1: If G is a forest with n vertices
and  connected components, then there are
n- edges in G.
 Theorem 5.15: The tree T with |V(T)|>1
contains at least 2 leaves.
 Proof: e=n-1
 Suppose T that contains at most 1 leaf
 2e2(n-1)+1=2n-1>2(n-1)
 Contradiction
Definition 23: T is called spanning tree of graph G, if
the spanning subgraph T of G is a tree.
 Theorem 5.16: G is connected if and only if G
contains a spanning tree.
 Proof:1) G contains a spanning tree, we prove G is
connected.
 2) G is connected, we prove G contains a spanning
tree
 If G has not any circuit, then G is a spanning tree
 Suppose that C is a simple circuit of G.
 We remove a edge from a simple circuit, the new
graph is also connected.






NEXT :Minimum spanning trees P280 7.5
Rooted tree and binary tree P254—263,7.1,7.2
Exercise
1.Let G be a simple graph with n vertices. Show that ifδ(G)
>[n/2]-1, then G is a tree or contains three spanning trees at
least
2.Find the length of a shortest path between a and z in the
given weighted graph.