Add color, weight, and direction to a graph; run tests and algorithms to find spanning trees, circuits, critical paths or colorings; and investigate the adjacency matrix or other matrices for a vertex-edge graph.