问一下tarjan弹栈的写法
查看原帖
问一下tarjan弹栈的写法
315448
whdywjd楼主2022/9/19 21:11

为什么这是错误代码:

//正在访问x节点
stack[size] = 0;
if(low[x] == dfn[x])
	while(stack[size] != x)
		sccno[stack[--size]] = x;//sccno[x]表示x所属强联通分量的树根节点
vis[x] = 2;//vis=2表示访问结束

而这是正确代码

//正在访问x节点
stack[size] = 0;
if(low[x] == dfn[x])
	while(stack[size] != x)
	{
		sccno[stack[--size]] = x;//sccno[x]表示x所属强联通分量的树根节点
		vis[stack[size]] = 2;//vis=2表示访问结束
	}
2022/9/19 21:11
加载中...