【问题标题】:Depth first search tree edge classification深度优先搜索树边缘分类
【发布时间】:2013-05-10 19:23:24
【问题描述】:

我有一个关于 DFS 边分类的基本问题:我有一个带边的有向图:1->2、2->3 和 1->3。 1->2 的边分类为树边,2->3 为树边。我对 1->3 的分类是什么感到困惑:前缘、后缘还是树缘?

【问题讨论】:

    标签: c++ algorithm graph depth-first-search


    【解决方案1】:

    根据边缘分类的定义(例如参见http://en.wikipedia.org/wiki/Depth-first_search),1->3 将是一个前向边缘。

    这是因为:
    1->2:树边缘,因为 2 是 1 的后代,而 2 尚未被发现。
    2->3:树边缘,因为 3 是 2 的后代,而 3 尚未被发现。
    1->3:前缘,因为 3 是 1 的后代并且已经被发现。

    3 是 1 的直接和通过 2 的后代。

    【讨论】:

    • 只是想确认一下,因为某事而感到困惑。谢谢!
    • 这个答案并不反映 DFS 的非确定性。如果源是 1 并且要发现的第一条边是 (1,3),则它是树边,而不是前向边,在这种情况下 (1,2) 也将是树边,而 (2,3 ) 将是一个前沿。
    • @G.Bach +1 公平的警察,州长。我假设访问节点的顺序是 OP 列出它们的顺序。我的回答可能更完整。塔。
    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多