A directed graph implementation.
This is a subclass of
Connects two nodes.
Graph.Node): starting node.
Graph.Node): ending node.
Returns nodes in this graph in topologically sorted order
Returns whether the graph has a cycle
Returns a transpose of this graph (eg. with the edges reversed)
Returns strongly connected components.
Each strongly connected component is itself a table.
table[table]) a table of strongly connected components.