The graph is represented as a distance matrix, and can have directed or undirected nodes.
There are functions provided for:
- Getting the minimum spanning tree of the graph using Prim's algorithm
- Getting upper and lower bounds for the travelling salesman problem
- Checking whether the graph is Eulerian or semi-Eulerian