Assignment #2 from the graph algorithms module (shortest paths).