我想计算有向图中每个节点的级别。我目前正在对没有传入边的顶点应用深度优先搜索算法。例如,考虑下图:
预期结果是:
Vertex | Level
1 | 0
2 | 1
3 | 2
4 | 1
5 | 3
6 | 4
在这种特殊情况下,如果我们从在4上应用DFS开始,那么顶点4、3、5和6的所有结果都将是错误的,因为1的级别为0。我一直试图始终考虑每一个的最大结果其中一个节点,因此在这种情况下,在1上应用DFS时将替换3、5和6的结果。它可以工作,但是我找不到正确计算顶点4级别的方法。
我只使用有向无环图。
我这里不包含任何代码,因为它是一个非常简单的DFS实现,并且我在实现方面也没有遇到困难。
任何提示将不胜感激。