A directed graph data structure, inlcuding methods for different traversals, minimum spanning trees and iterators.
Developed a collection of graph algorithms: shortest path, connected component search, strongly connected component search and topological sort.