cf290-2015-2-3总结与反思(dfs判断无向图是否有环)
2024-10-18 18:21:13
bool dfs(int i,int pre)
{
visit[i]=true;
for(int j=;j<=v;j++)
if(g[i][j])
{
if(!visit[j])
return dfs(j,i);
else if(j!=pre) //如果访问过,且不是其父节点,那么就构成环
return false;
}
}
方法:从一个顶点出发深度优先遍历可遍历所有结点,并且没有环或只有n-1条边。
若判断有环:可以在遍历时记住父结点,v的子结点w已被访问,且不是结点v的父结点,则存在环。
若判断只有n-1条边,循环一下很容易得到。用拓扑排序即可,因为无向图各顶点都有入度.
假设不存在自环与平行边
最新文章
- js中操作数组的一些方法
- er
- 【CSS】理解CSS
- git Please move or remove them before you can merge. 错误解决方案
- leetcode 100 Same Tree ----- java
- linux下安装nginx、pcre、zlib、openssl
- 8.cadence.CIS[原创]
- 我的pch文件
- EF6的多线程与分库架构设计实现
- 自动化运维工具——puppet详解(一)
- Micropython实例之TPYBoard来电显示功能演示
- 【前端】Vue2全家桶案例《看漫画》之七、webpack插件开发——自动替换服务器API-URL
- DB Query Analyzer has been downloaded more than 100,000 times
- unity3d从入门到精通要掌握什么内容
- c#中委托与事件
- 【Ray Tracing in One Weekend 超详解】 光线追踪1-6
- Java 清除指定目录文件夹下文件
- 20155319 2016-2017-2 《Java程序设计》第九周学习总结
- 互评Beta版本(Hello World!——SkyHunter)
- P2258 子矩阵