A graph has a finite number of nodes, also commonly called vertices, connected via edges. Trees are special cases of graphs, with additional constraints.
There are undirected and directed graphs. We will be looking at directed graphs, also known as digraphs. I will explain the terms as they come along; however, http://algs4.cs.princeton.edu/42digraph/ would help as a quick refresher/introduction.
A list of pairs will be used to model these directed graphs. The second element of the pair is should be a successor of the first. For example, the
m node's successors are
The preceding graph is modeled in the following code. Each ...