首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
admin
2019-01-16
36
问题
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点V
i
到顶点V
j
的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
选项
答案
算法1: int visited[]=0; //全局变量,访问数组初始化 int dfS(AdjList g,vi){ //以邻接表存储的有向图g,判断vi到vj是否有通路,返回1或0 visited[vi]=1; //visited是访问数组,设顶点的信息就是顶点编号 P:g[vi].firstarc; //第一个邻接点 while(P!=null){ j=p->adjvex; if(vj==j){flag=1;return(1);} //vi和vj有通路 if(visited[j]==O)dfs(g,j); P=P一>next: }//while if(!flag)return(0); } 算法2:输出vi到vj的路径,其思想是用一个栈存放遍历的顶点,遇到顶点vj时输出路径。 void dfs(AdjList g,int i){ //顶点vi和顶点vj间是否有路径,如有,则输出 int top=0,stack[]; //stack是存放顶点编号的栈 visited[i]=1; //visited数组在进入dfs前已初始化 stack[++top]=i; P=g[i].firstarc; //求第一个邻接点 while(P){ if(p->adjvex==j){ stack[++top]=j; printf(”顶点vi和vj的路径为:\n”); for(i=1;i<=top;i++)printf(”%4d”,stack[i]); exit(0); } else if(visited[p一>adjvex]==0){dfs(g,g->adjvex);top--;p=p->next;} } } 算法3:非递归算法求解。 int Judge(AdjList g,int i,j){ //判断n个顶点以邻接表示的有向图g中,顶点vi各vj是否有路径, //有则返回1,否则返回0。 for(i=1;i<=n;i++)visited[i]=0; //访问标记数组初始化 int stack[],top=0;stack[++top]=vi; while(top>0){ k=stack[top一一];P=g[k].firstarc; while(P!=null&&visited[p->adjvex]==1)P=p->next; //查第k个链表中第一个未访问的弧结点 if(P==null)top--; else{ i=p->adjvex; if(i一=j)return(1); //顶点vi和vj间有路径 else{visited[i]=1;stack[++top]=i;} } }while return(0); }//顶点vi和vj间无通路
解析
此题考查的知识点是图的遍历。在有向图中,判断顶点v
i
和顶点v
j
间是否有路径,可采用搜索的方法,从顶点v
i
出发,不论是深度优先搜索(DFS)还是宽度优先搜索(BFS),在未退出DFS函数或BFS函数前,若访问到v
j
,则说明有通路,否则无通路。设一全程变量flag,初始化为0,若有通路,则flag=1。
转载请注明原文地址:https://jikaoti.com/ti/H3fjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
抗日战争期间,日本将沦陷区的许多矿产业、钢铁业等交给日本公司管理,而名义是()
隋唐科举制的进士科最先出现在()。
简述雅典民主政治的形成过程、主要内容和历史局限性。
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
二次大战后,主要资本主义国家经历了增长时期,首先开始这个进程的国家是()。
北宋在统一南方割据势力的过程中特设(),把征南所得的财富统一存放,以作日后恢复幽燕之费。
从“鲁尔危机”的发生到《道威斯计划》的实施,西方国际关系变化对当时有关国家的影响是()。①美国势力进一步向欧洲渗透②英国达到了限制法国、保持均势的目的③德国获得重建经济的有利时机④法国扩充实力争霸欧洲的计划遭
1946年3月5日,英国前首相丘吉尔在富尔敦发表了(),发出第一个明白无误的“冷战”信号。
在一个双链表中,在*p结点之前插入*q结点的操作是()。
假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是____。
随机试题
中国大部分地区属于()
Sheis______adriverasanyoneelse.
A.应当拒绝调剂,及时告知处方医师,并应当记录,按照有关规定报告B.应当告知处方医师,请其确认或者重新开具处方C.应当拒绝调配,必要时,经处方医师更正或者重新签字。方可调配D.不得调剂对有配伍禁忌或者超剂量的处方
某企业向银行借入1000万元,期限3年,到期需还本付息合计1300万元,已知(F/P,9%,3)=1.295,(F/P,10%,3)=1.331,(F/P,11%,3)=1.368,则银行贷款利率为( )。
股份有限公司股东大会的会议召集程序、表决方式违反法律、行政法规的,股东可以自决议作出之日起()内,请求人民法院撤销。
商业银行开展其他不需要审批的个人理财业务时,不必将下列材料及时报中国银行业监督管理委员会的是()。
以下不能体现农村文化价值的是:
全球数以百计的医疗机构声称可用干细胞疗法修复多发性硬化症患者受损的组织细胞。专家指出,这些机构直接向患者打广告称可治愈疾病,而实际上没有任何证据表明它们有效或不会造成伤害。在这种情况下,处理相关广告十分必要,某些类型的干细胞移植,例如使用血液或皮肤干细胞,
虚拟局域网采取什么方式实现逻辑工作组的划分和管理?()
Childhoodcanbeatimeofgreatinsecurityandloneliness,duringwhichtileneedtobeacceptedbypeers______greatsignific
最新回复
(
0
)