首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
admin
2019-01-16
39
问题
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点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
学硕统考专业
相关试题推荐
王艮创立的()是中国封建社会后期的第一个启蒙学派,其从者大都致力于封建道德的普及宣传工作。
简述布匿战争的过程。
冶铁技术中的淬火法提高了铁器的坚韧与锋利程度,这一技术最早出现在()。
文艺复兴运动兴起的时间是()。
把中国第一次工人运动的高潮推向顶点的是()。
论述欧洲一体化的进程及影响。
1141年,金与南宋双方签订协议,规定以淮水和大散关为宋金的分界线,此协议称为()。
一棵:BS’r树共7个结点,值分别为1、2、3、4、5、6、7,形态为满二叉树,()不是插入序列。
已知某32位二进制机器数为11000000000000000000000000000000,试计算在下列各种编码方式下其代表的真值。(1)原码定点小数;(2)补码定点小数;(3)反码定点小数;(4)IEEE754标准短
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间
随机试题
患儿男,6岁。因发热6天,皮疹1天就诊,病后伴咽痛、纳差、乏力。院外应用多种抗生素治疗效果不佳。查体:T39.7℃,P128次/分,呼吸25次/分,BP108/75mmHg,精神差,咽峡部红肿,扁桃体充血肿大,双侧颌下和颈部可触及数个花生米大小淋巴结
A.浓缩红细胞B.冷沉淀C.白蛋白液D.免疫球蛋白E.血小板用于治疗抗生素不能控制感染的是
下列资料属有序多分类资料的是
良性葡萄胎之处理,下述何项是错误的
具有开窍醒神、活血通经、消肿止痛功效的药物是
对厂房、仓库进行防火检查时,应核查厂房、仓库的平面布置情况。某家具厂的下列做法中,不符合规范要求的是()。
A公司于2007年~2011年有关投资业务如下:(1)A公司于2007年1月1日以银行存款5000万元取得B公司30%的股权,采用权益法核算长期股权投资。假定A公司应收B公司的长期款项20万元,此外投资合同约定B公司发生亏损A公司需要承担额外损失
一桩投毒谋杀案,作案者要么是甲,要么是乙,二者必有其一,所用毒药或者是毒鼠强或者是乐果,二者至少其一。如果上述断定为真。则以下哪项推断一定成立?I.该投毒案不是甲投毒鼠强所为,因此一定是乙投乐果所为。Ⅱ.在该案侦破中发现甲投了
Whentherewereguestsinthehouse,thedeafanddumbboytookhis______fromhisparentssothatheknewhowtobehave.
A、Tobacco.B、Potatoes.C、Machinery.D、Clothing.D短文中提到,服装是安道尔公国出口产品中的一种,故答案为D)。
最新回复
(
0
)