当前位置: 首页 > 知识库问答 >
问题:

广度优先搜索可以在有向无圈图上使用吗?

山阳辉
2023-03-14

广度优先搜索可以在有向无圈图上使用吗?

谢谢

共有1个答案

魏康安
2023-03-14

简短回答:是的

  • 下面是一个视频示例。(这不是广告,我不认识那个人)
  • 以下是一些书面课程和示例。

为了更准确地回答您的问题,如果给定节点中没有指向根的边,那么您就不必像其他人在评论中所说的那样“必须”回到根。

a是的,你提到的“节点线”是DAG,但非常特殊。

附:很抱歉挖出这个问题,但我问自己,在网上搜索,看到了,继续搜索,找到了一些答案,所以我想这对将来的人家有帮助。

 类似资料:
  • 我正在尝试在有向图上实现BFS。我完全确定我的算法是正确的,但是,下面的代码段返回错误: 图表。CPP文件: 以及在以下方面的实际BFS实施: 因此,除了源节点之外,队列中的其他节点都给出了错误的邻接列表。虽然队列顺序运行良好,但队列中的节点给出了错误的邻接。 我不确定为什么会发生这种情况,虽然我怀疑这是由于按值复制节点而不是引用。 这是我在很长一段时间后的CPP计划,所以如果我错过了什么,请启发

  • 主要内容:深度优先搜索(简称“深搜”或DFS),广度优先搜索,总结前边介绍了有关图的 4 种存储方式,本节介绍如何对存储的图中的顶点进行遍历。常用的遍历方式有两种: 深度优先搜索和 广度优先搜索。 深度优先搜索(简称“深搜”或DFS) 图 1 无向图 深度优先搜索的过程类似于树的先序遍历,首先从例子中体会深度优先搜索。例如图 1 是一个无向图,采用深度优先算法遍历这个图的过程为: 首先任意找一个未被遍历过的顶点,例如从 V1 开始,由于 V1 率先访问过了,所以

  • 在有向图上进行广度优先搜索时,我很难找到一种正确分类边的方法。 在广度优先或深度优先搜索过程中,可以将遇到的边缘分为4类: 树 后退 交叉 转发 但普通循环不起作用: 当最后交叉边eCA时,处理并发现A。所以这个边被错误地标注为十字,是否应该是一个后边。 这两种情况的处理方式确实没有区别,即使这两种边缘有不同的类别。

  • 我正在研究BFS算法,我有一个关于如何将相邻节点插入队列的问题。 例如,假设我们正在处理一个无向图,我们希望执行BFS来输出图的内容,那么我们如何知道在从队列中取出一个初始节点后,相邻节点以什么顺序插入到队列中呢?还有,有没有办法修改邻居节点插入队列的方式? 任何帮助都将不胜感激,谢谢。

  • 首先感谢大家看这个问题。 对于学校作业,我们应该创建一个BFS算法,并用它来做各种事情。其中一件事是,我们应该找到图的根节点和目标节点之间的所有路径。我不知道如何做到这一点,因为我找不到一种方法来跟踪所有备用路线,同时不包括副本/周期。 这是我的BFS代码: 如果能在概念上朝着正确的方向推进,将会受到极大的赞赏。 tl;dr 如何使用 BFS 查找两个节点之间的所有路径? 这是图表,因为我不知道如

  • 我正在尝试使用广度优先搜索来生成一个(生成)树,它是通过遍历一个图(无向和连通的)自然生成的,但是我很难修改算法来生成树。我用的是Java。 这是我的BFS算法。 我的图形数据结构很简单(注意它是无向和连通的) : < code >公共类图{ Node mainNode... 树数据结构也很简单: 我的节点是这样的: 我认为我的问题来自于我不能简单地将图中的某个< code >节点node直接添加