深度优先搜索之寻找路径
来源:互联网 发布:mac在线安装系统 编辑:程序博客网 时间:2024/06/05 07:31
算法思想:数组edgeTo数组记录的值是当前结点,下标为其邻接点(即路径的下一个结点)
public class DepthFirstSearch { private boolean[] marked; private int[] edgeTo;//从起点到一个顶点的已知路径上的最后一个点 private final int s;//起点 public DepthFirstSearch(Graphics G,int s){ marked = new boolean[G.v()]; edgeTo = new int[G.v()]; this.s = s; dfs(G,s); } private void dfs(Graphics G, int v) { marked[v] = true;//标记遍历过的顶点 for(int w:G.adj(v)){ if(!marked[w]){ edgeTo[w] = v; dfs(G,w); } } } public boolean hasPath(int v){ return marked[v]; } public void path(int v,Vector vec){ Stack stack = null; int p = v; while(p != s){ stack.push(p); p = edgeTo[p]; } vec.clear(); while(!stack.empty()){ vec.add(stack.peek()); stack.pop(); } }}
阅读全文
0 0
- 深度优先搜索之寻找路径
- 深度优先搜索寻找割点
- 拓扑排序之关键路径(深度优先搜索)
- 算法之------深度优先搜索DFS和广度优先搜索BFS(最短路径)
- 机试算法讲解: 第45题 深度优先搜索之寻找沙特石油存储区
- 数据结构之深度优先搜索
- 深度优先搜索之 nkoj2221
- 图之深度优先搜索
- 深度优先搜索之马走日
- 深度优先搜索,两点间所有路径
- 深度优先搜索---最短路径
- 深度优先搜索--迷宫可能路径--栈
- 利用深度优先搜索算法寻找割点
- 深度优先搜索---寻找数字字符串中缺失的数字
- 算法之深度优先搜索和广度优先搜索
- 深度优先搜索之拯救ice-cream
- 图的遍历 之 深度优先搜索
- 01背包之深度优先搜索法
- android 五大布局(1)线性布局
- 1到100之间质数的和--JAVA
- 第一二章课后习题
- 商城模式转换,recyclerView的LinearLayoutManager转成GridLayoutManager出现的bug
- 设计模式【迭代器模式Iterator Pattern】
- 深度优先搜索之寻找路径
- G1 收集器调优
- myeclipse优化启动
- Spring的事务管理入门:编程式事务管理(TransactionTemplate)
- 不同风格的for语句
- 享受学习IT的快乐---终于走进你
- ocos2dx-lua采用pbc解析protobuf 不支持message嵌套和枚举不支持整数的处理方法
- Python爬取百度百科,BeautifulSoup提取关键信息
- python 字典