Algorithm 使用BFS检查循环图
假设我们使用广度优先搜索(BFS)在图Algorithm 使用BFS检查循环图,algorithm,graph-theory,breadth-first-search,Algorithm,Graph Theory,Breadth First Search,假设我们使用广度优先搜索(BFS)在图G上构造一棵树,并确定图中没有连接属于BFS树中同一层的节点的边。这是否意味着图表没有循环 不,没有。考虑下面的有向图: 如果我们从节点1开始BFS,搜索将在节点3结束。每个顶点都位于单独的层中,因此图形中没有连接属于同一层的节点的边。但是,该图包含一个循环 我们还可以为无向图构造一个反例: 第一层包含节点1。第二层包含节点2和4。第三层包含节点3。唯一具有多个节点的层是第二层,其两个节点不通过边连接。同样,在同一层的节点之间,图中没有边,但图中包含一个
G
上构造一棵树,并确定图中没有连接属于BFS树中同一层的节点的边。这是否意味着图表没有循环 不,没有。考虑下面的有向图:
如果我们从节点1开始BFS,搜索将在节点3结束。每个顶点都位于单独的层中,因此图形中没有连接属于同一层的节点的边。但是,该图包含一个循环
我们还可以为无向图构造一个反例:
第一层包含节点1。第二层包含节点2和4。第三层包含节点3。唯一具有多个节点的层是第二层,其两个节点不通过边连接。同样,在同一层的节点之间,图中没有边,但图中包含一个循环。这是DAG还是无向?一个有用的链接:谢谢Micheal Laszlo的回答