无向连通图点双连通分量

算法

无向连通图点双连通分支是指不包含割点的极大连通子图 

割点可以属于多个点双连通分支,其余点和每条边只属于且属于一个点双连通分支。

无重边的无向连通图点双连通分支 

//无重边的无向连通图点双连通分支 
#include
#include
#include 

using namespace std;
const int N=200;
vectorg[N];
int dfn[N],low[N];
int index,n,m;//index编号 n点数 m边数
struct Edge{
	int u,v;
	Edge(int u,int v):u(u),v(v){}
};
stacks;
int t;

void Tarjan(int u,int father)//father是u的父节点 
{
	dfn[u]=low[u]=index++;
	for(int i=0;idfn[v]) 
			  s.push(Edge(u,v));
		}
	} 
}

int main()
{
	int u,v;
	index=1; 
	cin>>n>>m;//点数 边数
	for(int i=1;i<=m;i++){
		cin>>u>>v;
		g[u].push_back(v);
		g[v].push_back(u);
	} 
	Tarjan(1,0); 
	return 0;
 } 

 

你可能感兴趣的:(图论)