Data Structures and Algorithms 
with Object-Oriented Design Patterns in C++
 
 
 
 
 
Consider the path  
in a directed graph  
.
- 
	Vertex  
 is the successor 
	of vertex  
 for  
.
	Each element  
 of path P (except the last)
	has a successor. - 
	Vertex  
 is the predecessor 
	of vertex  
 for  
.
	Each element  
 of path P (except the first)
	has a predecessor. - 
	A path P is called a simple path if and only if
	 
 for all i and j such that  
.
	However, it is permissible for  
 to be the same as  
	in a simple path. - 
	A cycle  is a path P
	of non-zero length in which  
.
	The length of a cycle is just the length of the path P. - 
	A loop  is a cycle of length one.
	I.e., it is a path of the form  
. - 
	A simple cycle  
	is a path that is both a cycle and simple.
 
Referring again to graph  
 in Figure 
 we find that the path
 
 is a simple path of length three.
Conversely, the path  
 also has length three
but is not simple because vertex c occurs twice in the sequence
(but not at the ends).
The graph contains the path  
 which is a cycle of length three,
as well as  
, a cycle of length four.
The former is a simple cycle but the latter is not.
 
 
 
 
 
Copyright © 1997 by Bruno R. Preiss, P.Eng.  All rights reserved.