首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
admin
2019-01-16
43
问题
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点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://kaotiyun.com/show/9lRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
下面有关兵制的内容,与唐玄宗有关的是()
《关于建国以来党的若干历史问题的决议》
改革开放以后,我国农村产业结构巨大的转变表现在()。
陈云在哪次会议上发表了《目前财政经济的情况和克服困难的若干办法》的重要讲话?()
我国生铁冶炼技术最早出现于()。
系统地阐明道家思想的著作《淮南鸿烈》,也叫《淮南子》,是汉武帝时()集宾客写成的。《淮南子》问世时,黄老思想在政治上已不占支配地位了。
格拉古兄弟改革
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
某计算机有8个主设备需要竞争总线的使用权,其设备号为0~7。现欲设计其判优控制方法,试回答下述问题。(1)集中式总线判优控制与分布式总线判优控制的区别是什么?(2)若采用集中式判优控制,则在链式查询、计数器定时查询和独立请求三种方式下,
随机试题
Frenchfries,washeddownwithapintofsoda,areafavoritepartoffast-foodlunchesanddinnersformillionsofAmericanyou
中华民国军政府
在Windows系统中,程序窗口最小化后,以下说法正确的是_______。
A.粘连性肠梗阻B.蛔虫性肠梗阻C.肠套叠D.乙状结肠扭转E.肠系膜血管栓塞男性,10岁,驱蛔治疗后有便蛔虫史,突起脐周阵发性腹痛和呕吐,腹部可扪及可以变形的团块()
各种流产的临床特点,哪项是正确的
口腔保健咨询时,对于怎样选择保健牙刷的提问,正确的答案应该是
统计学是一门研究具体现象数量方面的科学,其研究对象是各种社会经济现象的数量表现。以及社会经济现象变化的数量关系和数量界限。()
根据资料,回答问题。2015年10月,三季度经济数据公布,GDP增速6.9%,创2008年金融危机后新低,虽然高于市场6.8%的预期,但低于政府心理防线7%。从数据结构看,投资和出口增速下降,是导致经济增速下降的主要原因,其中固定资产投资和房地产
按照《公安机关人民警察着装管理规定》,人民警察着警服时,应当保持(),举止端庄,谈吐文明,精神振作,姿态良好。
如右图所示,△ABC是等腰直角三角形,AB=12,AD的长度是CD的2倍,四边形EBCD与△AED的面积之比为3:2,问AE的长度是多少?()
最新回复
(
0
)