如何找到BFS找到的实际路径
How can I find the actual path found by BFS?
我试图解决的问题涉及MRT系统的树。
每个节点最多可以连接到4个点,这使事情简化了很多。这是我的想法。
struct stop {
int path, id;
stop* a;
stop* b;
stop* c;
stop* d;
};
我可以编写代码来保存BFS搜索所有点所需的所有信息,但我主要担心的是,即使BFS正确地找到了点,我如何才能知道它的路径?
BFS会搜索每个级别,当其中一个到达我的目的地时,它会跳出运行循环,然后,我会得到一个已访问的队列和一个未访问的队列,当访问的队列中充满BFS搜索过的每个节点时,我该如何告诉用户他需要访问哪些站点?
为此,您需要存储一个map:V->V
(从顶点到顶点),它将从每个节点v
映射到"发现"v
的顶点u
。
您将在BFS的迭代过程中填充此地图。
稍后,您可以通过简单地从目标节点(在地图中)一直到返回源来重建路径,这将是您的路径(当然是反向的)。
请注意,如果枚举顶点,则此映射可以实现为数组。
相关文章:
- CMake导出的库-在客户端应用程序中找不到include/Lib路径
- GNuPlot.exe找不到用于用 C++ 编写的路径
- 找不到 windows.winmd – 如果指定了路径,错误会乘以
- 运行可执行文件时找不到共享库,即使共享库存在于指定的路径中
- 为什么 cmake findBoost 找不到系统提升路径?
- C++流找不到相对路径
- 在 c++ 中找不到头文件,可能的路径问题
- 错误53:找不到文件,而是路径中存在所有DLL
- 使用Cmake时,Emscripten找不到全局路径
- Xmllint未设置,而在路径中找不到XMLLINT;跳过XML预处理
- 在英特尔C++编译器 (Linux) 的配置搜索路径中找不到文件可执行文件
- 即使定义了搜索路径,也找不到自定义共享库
- Windows找不到DLL在路径中的目录中以为其
- makefile 找不到来自 -I 包含路径的头文件
- Maven NAR插件:在路径上找不到DLL依赖项
- 在 Visual C++ 系统调用的路径中找不到可执行文件
- 为什么Qt Creator在包含的路径中找不到包含的标头 - 即使qmake能够找到它们
- 在路径中找不到程序"g++"和"gcc"
- Visual Studio 2008在生成路径中找不到标头
- exe路径中找不到DLL