I. INTRODUCTION
In computer science, graph theory is the study
of graphs, a mathematical structure used to model
pair wise relations between objects from a certain
collection. A graph in this context refers to a
collection of vertices or nodes and a collection of
edges that connect pairs of vertices [1].
Graph theory can be used in research areas of
computer science such as data mining, image
segmentation, clustering, image capturing,
networking etc. Problems of efficiently planning
routes for mail delivery, fault diagnostic in
computer network and planning a LAN using
efficient network topology can be done using
graphs. The famous travelling salesman problem
asks for the shortest route a travelling salesman [7].
should take to visit a set of cities is a good example
of how graph theory might be applied to address
some problems in computer science. Graph
colouring has a variety of applications to problems
involving scheduling and assignments.
Informally, a graph is a set of objects called
vertices (or nodes) connected by links called edges
(or arcs). Typically, a graph is depicted as a set of
dots (i.e., vertices) connected by lines (i.e., edges).
Depending on the applications, edges may or
may not have a direction; edges joining a vertex to
itself may or may not be allowed, and vertices
and/or edges may be assigned weights, that are
numbers. If the edges have a direction associated
with them (indicated by an arrow in the graphical
representation) then it is a directed graph, or
digraph.