首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点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]==0)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){ //判断13.个顶点以邻接表示的有向图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/0iRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
()是中国历史上第一次大规模的群众性武装暴动。
印加人记载事物使用的方法是()。
中华人民共和国恢复在联合国合法席位的时间是()。
凡尔赛体系是由一系列条约组成的,其中战胜国与匈牙利签订的条约为()。
“钟鸣鼎食”往往用来形容贵族生活。考古发现的青铜乐器“钟”始见于周代遗址,可能存在于()
两宋时期,不同地域曾出现濂、洛、关、阐等学术流派。北宋后期到南宋中期,王安石的新学成为影响最大的学派,这主要是由于()
清廷实行厘金制度的时间是()。
汉章帝会群儒于白虎观,讨论经义,由()写成《白虎通德论》(又称《白虎通义》、《白虎通》)一书,这部书系统地吸收了阴阳五行和谶纬之学,形成今文经学派的主要观点。
试就MutualExclusion、Progress、BoundedWaiting论述以下解决双进程临界区问题的算法是错误的:ProcessPO:do{flag[0]=true;While(flag[1]);
随机试题
组成药物中含有人参、甘草、大枣的方剂是()(2000年第144题)
事业部制结构最早起源于美国的通用汽车公司。这种组织结构形式使通用汽车公司的整顿和发展获得了很大的成功。请简述事业部制的优缺点。
关于垂体瘤X线平片检查,下列叙述哪项正确
关于NK细胞的叙述,错误的是
合同的解除应具体遵循的程序是( )。
某水闸工程施工招标投标及合同管理过程中,发生如下事件:事件1:该工程可行性研究报告批准后立即进行施工招标。事件2:施工单位的投标文件所载工期超过招标文件规定的工期,评标委员会向其发出了要求澄清的通知,施工单位按时递交了答复,修改了工期计
()的股东清求时,应当在两个月内召开临时股东大会。
企业改组为上市公司时,处理承担社会职能的非经营性资产时应当坚持( )原则。
Ifyoufeellikewithdrawingfromthehurlyburlyandbeingreclusive,thendosoandtakethisopportunitytorechargeyourbat
ThemangetsupataquartertosevenwhenheisinGombe.
最新回复
(
0
)