图中节点的计算级别

我想计算有向图中每个节点的级别。我目前正在对没有传入边的顶点应用深度优先搜索算法。例如,考虑下图:

预期结果是:

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实现,并且我在实现方面也没有遇到困难。

任何提示将不胜感激。