所以我对BFS和DFS算法的输出都感到困惑 .
据我所知,BFS将输入视为 G ,顶点为 x .
G
x
输出:返回一个图形,对于 G 中的每个顶点,新图形具有从顶点 x 到图形中任何其他顶点的最短路径 .
是对的吗?如果不是,那是什么?
DFS怎么样? DFS的输入只是一个图表,是否意味着DFS并不关心你从哪里开始?什么是DFS的输出?
谢谢
我不完全确定你想要的是什么,但我会试一试 .
假设我们有以下图表:
X - 1 - 2 - 3 | \ 1 1 | \ 2 2 | \ 3 3
在此图中,X标记我们将开始遍历的节点,数字表示特定节点保存的值 . 此时X有3个直接相邻节点,所有节点都保持值1 .
为了示例,我们假设任何节点都不能遍历两次 . 我们还假设程序始终打印它所站的节点的值 .
如果没有真正深入了解BFS和DFS的工作方式(根本没有),输出将是这样的:
BFS: X 1 1 1 2 2 2 3 3 3 DFS: X 1 2 3 1 2 3 1 2 3
希望这能回答你的问题 .
DFS是一种图形遍历技术,它将图形和起始顶点(随机)作为输入,并给出一系列顶点作为输出 . 序列包含可从起始顶点到达的那些顶点 . 即我们发现是否可以从图形中的任何其他顶点到达任何顶点?
2 回答
我不完全确定你想要的是什么,但我会试一试 .
假设我们有以下图表:
在此图中,X标记我们将开始遍历的节点,数字表示特定节点保存的值 . 此时X有3个直接相邻节点,所有节点都保持值1 .
为了示例,我们假设任何节点都不能遍历两次 . 我们还假设程序始终打印它所站的节点的值 .
如果没有真正深入了解BFS和DFS的工作方式(根本没有),输出将是这样的:
希望这能回答你的问题 .
DFS是一种图形遍历技术,它将图形和起始顶点(随机)作为输入,并给出一系列顶点作为输出 . 序列包含可从起始顶点到达的那些顶点 . 即我们发现是否可以从图形中的任何其他顶点到达任何顶点?