*weighted graphs
*minimum spanning trees
*shortest paths (single source)
*directed graphs
*transitive closures (connected components all pairs
shortest paths)
*topological shorting
*strongly connected components
*weighted directed graphs
*Network flows
*Bipartite matching
*Stable marriage