深度优先搜索
来源:互联网 发布:java cs架构开发书本 编辑:程序博客网 时间:2024/06/08 04:47
邻接表:
0 1 2 5 6
1 0
2 0
3 4 5
4 3 5 6
5 0 3 4
6 0 4
深度优先遍历:
0 -> 1 1没有其他邻接点,退回到0,遍历0的下一个邻接点2
0 ->1 ->2 2没有其他邻接点,退回到0,遍历0的下一个邻接点5
0 ->1 ->2 ->5 遍历5的邻接点,0遍历过了,遍历邻接点3
0 ->1 ->2 ->5 ->3 遍历3的邻接点4
0 ->1 ->2 ->5 ->3->4 遍历4的邻接点6,因为4的邻接点3,5已被遍历
0 ->1 ->2 ->5 ->3 ->4 ->6 6没有邻接点,退回到4,4的邻接点都被遍历,退回到3,3的邻接点都被遍历,退回到5,5的邻接点退回到2,2退回到1,1退回到0,结束
public class DepthFirstSearch { private boolean[] marked; private int count;//连通分量的个数 public DepthFirstSearch(Graphics G,int s){ marked = new boolean[G.v()]; dfs(G,s); } private void dfs(Graphics G, int v) { marked[v] = true;//标记遍历过的顶点 for(int w:G.adj(v)){ if(!marked[w]){ dfs(G,w); count ++;//求连通分量的个数 } } } public boolean marked(int w){ return marked[w]; } public int count(){ return count; }}
应用:深度优先搜索的一个应用是求连通分量的个数
阅读全文
0 0
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索 DFS
- 深度优先搜索遍历
- 深度优先搜索 DFS
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- hdoj1015Safecracker(深度优先搜索)
- [AI]深度优先搜索
- 深度优先搜索算法
- DFS 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- 图解深度优先搜索
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- 3.5吋树莓派显示屏安装设置
- 201710119还没进新手村的小菜鸟
- 双目视觉几何框架学习笔记
- java反射异常
- 打开文件测试的测试点
- 深度优先搜索
- python 登陆温金所
- 常用算法之:2、梯度下降
- 51Nod ——1080 两个数的平方和
- Rhyme/Java 多线程同步之生产者消费者模式
- 同余方程 解题报告
- Python(day2练习)
- Spring整合JMS(一)——基于ActiveMQ实现
- 第七周项目1--建立顺序环形队列算法库