以邻接矩阵作存储结构,编写程序对给定的无向图(图中包含n个顶点,编号为0至n-1
)进行深度优先遍历,并在遍历的过程中计算图G的连通分量个数。
邻接矩阵的类型描述
#define MaxVexNum 20 //最大顶点数目
typedef struct
{ int arcs[MaxVexNum][MaxVexNum];
int vexnum, arcnum;
}AMGraph;
本题限定在遍历过程中,如果同时出现多个待访问的顶点,则优先选择编号最小的一个进行访问,以顶点0为遍历起点。
下面给出了 图的深度优先搜索 函数的大部分内容,但缺少了一部分(以下划线____
标识出来的部分)。
请先将以下代码中画横线的部分补充完整,然后将完整的函数DFS
,DFSTraverse
以及相关全局变量的定义 提交系统,完成题目要求的功能。
函数接口定义:
bool visited[MaxVerNum];
void DFS(MGraph G,int v)
{
int w;
cout<<v<<' ';
visited[v]= ____ ;
for ( w=0; w< ____ ; w++ )
{
if ( G.arcs[ ____ ][ ____ ]=&#