BFS最短路径
BFS 广搜算法 讲一下图的遍历,广搜。 广搜是图的遍历的一种,它能够在图中的两的点之间找到一条最短的一条路径。但是如果仅使用广搜,搜索的规模会与点的数量以及边的数量有关。当规模很大的时候,广搜不是一种很好的解决方案。 举个例子,这是图的形式 然后便是其邻接矩阵的形式: 再者是其邻接表的形式: 如若没有了解该算法的大体思想,可以参考我的另一篇文章 ------>这是链接<------ 以下便是代码,改代码使用的是链式结构,即邻接表实现,输入格式在main.cpp中注释部分 main.cpp #include"GraphBFS.h" int main() { GraphBFS g1; g1.Init(); g1.Display(); return 0; } /* 5 5 1 5 2 1 2 4 2 3 5 3 4 1 4 5 6 */ GraphBFS.h #pragma once #ifndef _GRAPHBFS_H_ #define _GRAPHBFS_H_ #include<iostream> #include<cstdlib> #include<queue> #include<vector> using namespace std; const int MAX = 0xffffff; struct nPoint { int arrive; int d; nPoint*