有向图强连通分量的Tarjan算法
来源:互联网 发布:怎样正确使用电视网络 编辑:程序博客网 时间:2024/06/07 03:27
这里收录了一些资源
实现:http://blog.csdn.net/xinghongduo/article/details/6196292
介绍:https://www.byvoid.com/zhs/blog/scc-tarjan
http://blog.csdn.net/tomorrowtodie/article/details/52298549?locationNum=2&fps=1
这是我自己的代码
#include<iostream>#include<cstdio>#include<vector>#include<queue>using namespace std;vector<int>poi[40000];int dfn[40000],low[40000],stack[40000];bool instack[40000];int tim=1,top;int dfs(int u){int i;dfn[u]=low[u]=tim++;stack[++top]=u;instack[u]=true;for(i=0;i<poi[u].size();++i){if(!dfn[poi[u][i]]){dfs(poi[u][i]);low[u]=min(low[u],low[poi[u][i]]);}else if(instack[poi[u][i]]){low[u]=min(low[u],dfn[poi[u][i]]);}}if(dfn[u]==low[u]){cout<<"{ "; do { u=stack[top--]; instack[u]=false; cout<<u<<' '; }while(dfn[u]!=low[u]); cout<<"}"<<endl; }}int main(){freopen("a.in","r",stdin);int i,n,m,sum=0,x,y;cin>>n>>m;for(i=1;i<=m;++i){cin>>x>>y;poi[x].push_back(y);}for(i=1;i<=n;++i){if(!dfn[i])dfs(i);}return 0;}觉得有用请留言,谢谢
0 0
- 有向图的强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 【转载】有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法[ZZ]
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图的强连通分量&&Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- 有向图强连通分量的Tarjan算法
- C#视频—运算符
- 文件查看器(C语言)
- 代码积累--用循环做一个bilingling的五角星
- 反射获取类名
- 字体颜色渐变和边框渐变的一个方法
- 有向图强连通分量的Tarjan算法
- pgbouncer的安装配置
- accept()还有服务端和客户端
- AET增强失败自救
- Vivado-zynq7000 的PS侧开发相关文档
- js/javascript正则表达式中/g /i /m的用法,以及实例
- javasciptDom操作
- 设计模式——桥接模式
- mvc与三层结构终极区别