class GraphAlgorithms {

	public static <V, E extends GEdge<V>> Map<V, Integer> getComplexityDepth(
			GDirectedGraph<V, E> g) {

		Map<V, Integer> map = new HashMap<>();
		List<V> verticesInPostOrder = getVerticesInPostOrder(g, GraphNavigator.topDownNavigator());
		for (V v : verticesInPostOrder) {
			int maxChildLevel = getMaxChildLevel(g, map, v);
			map.put(v, maxChildLevel + 1);
		}

		return map;
	}

	private  GraphAlgorithms();

}