广度优先遍历:有向图与无向图的区别

5

BFS在有向图和无向图上的实现有何不同。

我在网上找到了以下伪代码,对于无向图我没问题,但是不知道如何在有向图上实现。

 frontier = new Queue()
  mark root visited (set root.distance = 0)
  frontier.push(root)
  while frontier not empty {
     Vertex v = frontier.pop()
    for each successor v' of v {
    if v' unvisited {
        frontier.push(v')
        mark v' visited (v'.distance = v.distance + 1)
    }
    }
  }

这完全一样。 - Beta
已经明白了..谢谢您的回复。 - Yashwanth CB
嗯...感谢那位点赞我的问题的人。 - Yashwanth CB
1个回答

2

伪代码的实现是相同的,除了successor的概念在无向图中表示邻居,而在有向图中表示子节点(或类似概念)。


addNode(a, b); 如果(dir == "no") { addNode(b, a); } - Yashwanth CB
以上的设置是否正确?如果是单向访问,则提供访问权限。否则,提供双向访问权限。 - Yashwanth CB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接