设计算法判断一个无向图是否连通 ,不连通给出分量个数

//设计算法判断一个无向图是否连通
//不连通给出分量个数
//ADT语句
//Auther:
//Data:2019/11/26
int visited[MAX-VERTEX-NUM];
				//访问标志数组
int count=0;
			//连通分量个数
int TraverseGraph(Grap g)
{
	int count=0;
	for(vi=0;vi<g.vexnum;vi++;
	visited[vi]=0;
				//初始访问数组,0未访问,1已访问
	for(vi=0;vi<g.vexnum;vi++)
		if(!visited[vi])
		{
			DepthFirstSearch(g,vi);
				//调用深度遍历连通子图
			count++;
		}
		return count;
	}
void DepthFirstSearch(Grap g,int v0)
{
	visit(v0);
			//访问v0顶点所在连通子图
	visited[v0]=1;
			//顶点已访问,置为1
	w=FirstAdjVertex(g,v0);
		
		while(w!=-1)//邻接点存在
		{
			if(!visited[w])
				DepthFirstSearch(g,w);
							//递归调用
			w=NextAdjVertex(g,v0,w);
						/*寻找下一个邻接点
                                */
			
		}
	
}







发布了50 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41865104/article/details/103261350