A graph G = (V, E) is a combinatorial structure consisting of a set of vertices V and a set of edges E. Unless otherwise stated, both are assumed to be finite. Each edge is associated with two vectices called its end points. If these end points have the same relation to the edge, the edge has no natural orientation and it considered undirected. In this case E is a set of unordered paris of vertices. If not, we may consider one of end points as the start vertex, and the other as the finish vertex, and in this case the edge is considered directed. For directed graphs E is a subset of the cartesian product V x X. Usually, when we draw a representation of G, the vertices are represented by points and the edges are represented by lines, not necessarily straight. If the edges are directed, we add an arrowhead to specify its direction. The vertex set and edge set of a graph G are also denoted by V(G) and E(G), respectively.