In this chapter, we will cover the following recipes:
Representing a graph from a list of edges
Representing a graph from an adjacency list
Conducting a topological sort on a graph
Traversing a graph depth-first
Traversing a graph breadth-first
Visualizing a graph using Graphviz
Using Directed Acyclic Word Graphs
Working with hexagonal and square grid networks
Finding maximal cliques in a graph
Determining whether any two graphs are isomorphic