图的四种最短路径算法 | 您所在的位置:网站首页 › 双向bfs如何找最短路径 › 图的四种最短路径算法 |
本文总结了图的几种最短路径算法的实现:深度或广度优先搜索算法,弗洛伊德算法,迪杰斯特拉算法,Bellman-Ford算法 1),深度或广度优先搜索算法(解决单源最短路径) 从起始结点开始访问所有的深度遍历路径或广度优先路径,则到达终点结点的路径有多条,取其中路径权值最短的一条则为最短路径。下面是核心代码: [cpp] view plain copy void dfs(int cur, int dst){ /***operation***/ /***operation***/ if(minPath //临界条件 if(minPath > dst) minPath = dst; return; } else{ int i; for(i = 1; i > n >> m && n != 0){ //初始化邻接矩阵 int i, j; for(i = 1; i a >> b; cin >> edge[a][b]; } //以dnf(1)为起点开始递归遍历 memset(mark, 0, sizeof(mark)); minPath = inf; mark[1] = 1; dfs(1, 0); cout |
CopyRight 2018-2019 实验室设备网 版权所有 |