资源简介
关于tarjan算法的代码,自己写的,和大家分享,希望大家能多多指教
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int const N=20001;
stacks;
vectormap[N]newmap[N];
bool inStack[N];
int dfsOrder[N]low[N]newOrder[N];
int nodeSCC;
void tarjan(int x)
{
dfsOrder[x]=low[x]=++node;
s.push(x);
int u;
if(map[x].empty()==false)
for(int i=0;i {
u=map[x].at(i);
if(inStack[u])
if(dfsOrder[u]==0)
{
tarjan(u);
low[x]=min(low[u]low[x]);
}
else
{
low[x]=min(low[x]dfsOrder[u]);
}
}
if(dfsOrder[x]==low[x])
{
SCC++;
while(s.top()!=x)
{
newOrder[s.top()]=SCC;
inStack[s.top()]=false;
s.pop();
}
newOrder[x]=SCC;
inStack[x]=false;
s.pop();
相关资源
- 电梯模拟MFC
- 5个遗传算法C语言源码
- 马踏棋盘算法的程序设计
- 用c语言求梯度的算法
- ECC算法 C++实现 加解密
- 计算机图形学 直线裁剪算法
- 扫描线填充算法实现橡皮筋
- C++实现Apriori算法,频繁模式数据挖掘
- 矩阵算法相关代码
- RPP算法-RobustPlanarPose-C++
- 道格拉斯算法C++实现
- 集合的并交叉三种运算,C语言实现
- 基于遗传算法的最短路径选择问题
- C++模拟退火算法求二维函数极值
- WM(Wu-Manber)算法详解及C语言实现
- 变步长数值积分算法+动态演示
- 遗传算法求解中国旅行商问题C语言
- 多边形区域的扫描线填充、扫描线种
- SHA1加密算法的c++实现
- 模拟退火遗传算法的C++程序
- c++利用遗传算法求解函数优化问题
- 基于C++的边缘检测算法
- 协同过滤算法代码 C++
- 自适应积分算法用于对函数积分
- 一个完整的des算法的c语言实现
- c语言RSA算法 这是一个完整的rsa算法
- DES算法CBC运行模式实现
- 网桥自学习算法
- 路由器分组转发算法_计算机通信课程
- HMAC-MD5 C语言算法
评论
共有 条评论