在图上寻找最优路径(DFS)
2018-03-07 20:04
253 查看
//在图上寻找最优(步数最少)路径 Node bestPath[MAX_LEN]; int minSteps = INFINITE; //最优路径步数(定了一个无限大) Node psth[MAX_LEN]; //MAX_LEN取节点总数即可 int depth; void Dfs(V) { if(v为终点) { path[depth] = v; if(depth < minSteps) { minSteps = depth; 拷贝path到bestSteps; } return; } if(v为旧点) return; if(depth >= minSteps) return; //最优性剪枝,它记录当前得到的最优值,如果当前节点无法产生比当前最优解更优的解时,可提前回溯 将V标记为旧点; path[depth] = v; ++depth; 对和v相邻的每个节点U { Dfs(U); } --depth; 将v恢复成新点; } int main() { 将所有点都标记为新点; depth = 0; Dfs(起点); if(minSteps != INFINITE) { for(int i = 0; i < minSteps; ++i) cout << bestSteps[i] << endl; } }
相关文章推荐
- 飞越原野 DFS寻找最优路径
- 最优匹配,增广路径dfs几乎与二分匹配一摸一样 --不过就是多了调整过程而已 【转自旧博】
- hdu 2614 dfs寻找一条最长路径
- HDU1539Shredding Company(DFS+保存最优路径)
- 广度优先搜索寻找最优路径、以及双向广度搜索算法 .
- [ 算法 ] 广度优先搜索寻找最优路径、以及双向广度搜索算法!
- 深度优先算法(DFS)遍历有向无环图计算最优路径
- noip2008 传纸条 (动态规划寻找最优路径)
- DFS寻找路径~
- 广度优先搜索寻找最优路径、以及双向广度搜索算法
- 仙岛求药(迷宫寻找最短路径)DFS
- 如何在MONO 3D寻找最短路路径
- Android 寻找xutils上传图片失败办法的路径
- 迷宫问题一 找到迷宫的一条路径(DFS+回溯)
- 湖南省第七届省赛 G - 最优对称路径(spfa+dp)
- uva10054 The Necklace (欧拉回路路径输出 (并查集 + DFS) || (DFS + stack))
- poj 迷宫问题(路径记录)(DFS,BFS)
- 第一章:The Missing Code Library--1.在系统路径PATH中寻找程序
- 寻找沙箱的Documents文件夹路径
- 【二叉树】DFS计算路径和,保存路径【113. Path Sum II】【112. Path Sum】