Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 确定无向图是否连通_Graph_Depth First Search - Fatal编程技术网

Graph 确定无向图是否连通

Graph 确定无向图是否连通,graph,depth-first-search,Graph,Depth First Search,我不久前看到过这样的帖子: 它说,要确定一个无向图是否是一棵树,你只需要检查它是否有一个循环。但是,您不需要确保图形是连接的吗?我被教导树是连接的和非循环的。仅检查无环性如何足够 谢谢。你说得对。如果这个图是非循环的,那么它就是一个森林。另外,如果它只有一个组件,那么它就是一棵树 上面提到的算法所做的是查找后边缘。如果它找到一个,那么该图就不是一棵树。如果它没有找到一条边,并且算法在用完边之前访问了n-1条边,那么它就是一棵树,因为访问了n-1条边意味着图确实是连通的(具有n个顶点的树有n-1

我不久前看到过这样的帖子:

它说,要确定一个无向图是否是一棵树,你只需要检查它是否有一个循环。但是,您不需要确保图形是连接的吗?我被教导树是连接的和非循环的。仅检查无环性如何足够


谢谢。

你说得对。如果这个图是非循环的,那么它就是一个森林。另外,如果它只有一个组件,那么它就是一棵树


上面提到的算法所做的是查找后边缘。如果它找到一个,那么该图就不是一棵树。如果它没有找到一条边,并且算法在用完边之前访问了n-1条边,那么它就是一棵树,因为访问了n-1条边意味着图确实是连通的(具有n个顶点的树有n-1条边)。如果算法用完了边,但没有到达n-1个访问的边,则表示图形未连接,因此它不是树。

但它在哪里跟踪访问的边数?用于程序实现