首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i≠j)。(注意:算法中涉及的图的基本操作必须在存储结构上实现。)
admin
2019-01-16
68
问题
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点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://www.kaotiyun.com/show/9lRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
论述秦国商鞅变法的内容、过程以及重要意义。
东汉末期的农民起义出现的新特点是()。
太平天国时期,提出了一系列向西方学习资本主义方案的重要人物是()。
拉美独立后,各国政治上的一种普遍现象是(),实质上它是拉美各国大地主专政的一种特殊形式。
现存迈锡尼线形文字B的材料绝大多数叙述的是迈锡尼的()
宋代至清代我国书籍印刷的主要方式是()
西周的官僚制度已经相当完备,官僚机构庞杂,职官名目繁多。周王室的官僚机构分为两大系统,分别是()。
电子计算机的发展经过了:①电子数值积分计算机(ENIAC)②集成电路计算机③大规模集成电路汁算机④晶体管计算机⑤人工智能计算机其先后顺序是()。
某中央处理器的数据通路如图所示。MDR为内存数据寄存器,PC为程序计数器,IR为指令寄存器。所有的单线箭头为控制微命令。(1)请说明图中部件X的名称和功能、寄存器Y的名称和功能。(2)请解释:为什么要设置T暂存器?(3)假定指
设结点x和y是二叉树中任意的两个结点,在该二叉树的先序遍历序列中x在y之前,而在其后序遍历序列中x在y之后,则x和y的关系是()。
随机试题
供给侧结构性改革的根本目的是()
《建设工程委托监理合同(示范文本)》规定,承包方违反合同规定的质量要求和完工时限,监理人( )。
技术方案经济评价中的基准收益率是指投资资金应当获得的()盈利率水平。
一般而言,在金融体系中处于核心地位的金融机构是()。
如图,玻璃管内封闭了一段气体,气柱长度为l,管内外水银面高度差为h。若温度保持不变,把玻璃管稍向上提起一段距离,则()。
【2014.山东济宁】容易使各门知识发生断裂现象,加重学生的学习负担,忽视学生的兴趣,理论和实践相脱离的是()。
上海将推进分级诊疗试点,完善家庭医生签约服务机制,建立健全()与二、三级医院双向转诊绿色通道。
公安机关的各项权力,都是由国家法律和法规规定的,反映国家的意志。( )
设物体A从点(0,1)出发,以速度大小为常数v沿y轴正方向运动,物体B从点(一1,0)与A同时出发,其速度大小为2v,方向始终指向A,任意时刻B点的坐标(x,y),试建立物体B的运动轨迹(y作为x的函数)所满足的微分方程,并写出初始条件.
Insomecountries,societalandfamilialtreatmentoftheelderlyusuallyreflectsagreatdegreeofindependenceandindividual
最新回复
(
0
)