cf290-2015-2-3总结与反思(dfs判断无向图是否有环)
2015-02-03 10:03
190 查看
bool dfs(int i,int pre) { visit[i]=true; for(int j=1;j<=v;j++) if(g[i][j]) { if(!visit[j]) return dfs(j,i); else if(j!=pre) //如果访问过,且不是其父节点,那么就构成环 return false; } }
View Code
方法:从一个顶点出发深度优先遍历可遍历所有结点,并且没有环或只有n-1条边。
若判断有环:可以在遍历时记住父结点,v的子结点w已被访问,且不是结点v的父结点,则存在环。
若判断只有n-1条边,循环一下很容易得到。用拓扑排序即可,因为无向图各顶点都有入度.
假设不存在自环与平行边
相关文章推荐
- 问题总结:判断MS SQLSERVER临时表是否存在
- ASP.NET Session丢失问题解决方案总结及判断Session是否过期【转载】
- POJ2762判断图是否单向连通,缩点+dfs
- 3478 Catch (判断是否为二分图,dfs奇偶染色)
- android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现 总结
- [总结]C#判断一个string是否可以为数字,五种解决方案!
- 【经验总结】跪求指导:如何判断图片是否加载完成
- C#自我总结:判断是否接入互联网!
- 关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结
- Sql Server中判断对象是否存在等总结
- ASP.NET Session丢失问题解决方案总结及判断Session是否过期【转载】
- 判断链表是否有环以及找出环的入口点知识总结
- INNO setup安装卸载钱判断进程中是否在运行总结
- 判断一个字符串是否为数字的方法总结
- zoj 2587 Unique Attack 判断最小割是否唯一 sap+dfs
- [总结]C#判断一个string是否可以为数字,五种解决方案!
- sql中判断使用distinct是否多余-学习总结
- ASP.NET Session丢失问题解决方案总结及判断Session是否过期
- 汇编知识总结--第二部分(判断指令是否正确)
- ASP.NET Session丢失问题解决方案总结及判断Session是否过期