我在无向图上遇到一个问题,听起来像这样:“对图表进行广度优先遍历并列出图表的清晰点。”我发现只有使用DFS来查找关节顶点的算法。 有没有办法用BFS找到那些顶点? 谢谢。
更新:如何删除每个节点,然后在剩余的图表上执行BFS?如果它覆盖所有节点,则删除的节点不是清晰点。我知道它效率低,但我认为没问题。
答案 0 :(得分:1)
并非没有做一堆额外的工作。
原因是你不能确定一个点是否是一个关节点,而不是看着它的孩子,孩子的孩子等,以找到哪些点以某种方式连接回根顶点。深度优先搜索会自动为您执行此操作。广度优先搜索没有。
你可以模拟它,但只能通过广度优先搜索,然后记住深度优先搜索的所有中间状态。这是很多的开销,没有实际收益。