Graph algorithms
Two types of problems in graph:
1) connectivity Given G(V,E)
find whether a node v, can be reached from a node u
2) shortest path Given G(V,E) find
shortest paths from a node s to a node v (including multiple sources
and destinations)