首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
admin
2012-06-21
136
问题
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
选项
答案
解法一:采用深度优先遍历方法。算法如下: Void DFS(AGraph*G,int v) { ArcNode*p; visited[v]=1; //置已访问标记 printf("%d",v);//输出被访问顶点的编号 p=G->adjlist[V].firstarc;//p指向顶点v的第一条边的终结点 while(p!=NULL) . { if(visited[p->adjvex]==0)//若p->adjvex顶点未访问,递归访问它 { DFS(G,p->adivex); p=p->nextarc; //p指向顶点v的下一条边的终结点 } } int ConnNuml(AGraph*G) //求图G的连通分量 int i,num=0; for(i=0;i<G->n;i++) {visited[i]=0; for(i=0;i<G->n;i++) {if(visited[i]==0) { DFS(G,i); num++; } } } return(num); } 解法二:采用广度优先遍历算法 void BFS(AGraph G, int v) AreNode*p; int Qu[MAXV],front=0,rear=0 int w,i; for(i=0;i<G->n;i++)visited[i]=0; printf("2%d",v); visited[v]=1; rear=(rear+1)%MAXV; Qu[rear]=v; while(front!=rear) { front=(front+1)%MAXV; w=Qu[front]; p=G->adjlist[w].firstarc; while(p!=NULL) { if(visited[p->adjvex]==0) { printf("%2d",p->adjvex); //访问相邻顶点 visited[p->adjvex]=1; rear=(rear+1)%MAXV; //该顶点人队 Qu[rear]=p->adjvex; } p=p->nextarc; //找下一个邻接顶点 } } printf("\\n"); } int ConnNum2(AGraph*G) //求图G的连通分量 { int i,num=0; for(i=0;i<G->n;i++) visited[i]=0; for(i=0;i<G>n;i++) if(visited[i]==0) { BFS(G,i); //调用BFS算法 num++; } retum(num); }
解析
转载请注明原文地址:https://kaotiyun.com/show/yNxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简要概述伯里克利时代雅典民主政治的主要表现,其积极意义与局限性。
1933年美国通过的《工业复兴法》规定:“雇主不得工人参加何种工会为雇佣条件;必须遵守工时……工资限额。”这一法令说明()
不仅主张通过三种国家权力的分立达到相互制衡的目的,而且提出通过国家与地方政府的分权更好地实施对权力的制约的思想家是()。
下列不是苏俄实行战时共产主义政策原因的是()。
二战后国家垄断资本主义发展的主要形式有哪些?
以下()协议完成了从网卡到IP地址的映射。
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
若有4个进程共享同一程序段,每次允许3个进程进入该程序段,用P、V操作作为同步机制,则信号量S的取值范围是()。
相对于微程序控制器,硬布线控制器的特点是()。
采用散列函数H(k)=3×kMOD13并用线性探测开放地址法处理冲突,在数列地址空间[0..12]中对关键字序列22,41,53,46,30,13,1,67,51;(1)构造散列表(画示意图);(2)装填因子;(3)等概
随机试题
英文题目中英文实词个数一般不能超过()
系统性红斑狼疮所致的疣状心内膜炎,其赘生物的主要成分是
药物或代谢物可发生结合反应的基团有
2001年5月李某被某县公安局刑事拘留,后某县检察院以证据不足退回该局补充侦查,2002年11月李某被取保候审。2004年,县公安局撤销案件。次年3月,李某提出国家赔偿申请。县公安局于2005年12月作出给予李某赔偿的决定书。李某以赔偿数额过低为由,于20
下列不属于对外提供国家秘密测绘成果的是()。
风险识别的依据包括:()。
企业价值评估中所选择的折现率一般不低于()。
证券公司与客户签订专项资产管理合同,针对客户的特殊要求和资产的具体情况,设定特定投资目标,通过单一账户为客户提供资产管理服务。( )
下列关于风险理财的描述中,错误的有()。
如果f(x)在[a,b]上连续,无零点,但有使f(x)取正值的点,则f(x)在[a,b]上的符号为________.
最新回复
(
0
)