考研考试

解析:下图中的顶点表示村庄,有向边代表交通路线,若要建立一家医院,试问建在哪

来源:网考网考研 所有评论

【分析解答题】下图中的顶点表示村庄,有向边代表交通路线,若要建立一家医院,试问建在哪个村庄能使各村庄总体交通代价最小


网考网解析:
试题答案:[解答] 该图的邻接矩阵如下: 利用Floyd算法可求得两顶点之间最短路径长度。最后求得: 从A 4 中可求得每对村庄之间的最少交通代价。假设医院建在i村庄时,其他各村庄 往返总的交通代价如下所示: 医院建在村庄0时,各村庄往返总的交通代价为12+16+4+7+13+16+4+18=90: 医院建在村庄1时,各村庄往返总的交通代价为13+29+17+20+12+11+8+5=115: 医院建在村庄2时,各村庄往返总的交通代价为16+11+12+6+16+29+12+34=136: 医院建在村庄3时,各村庄往返总的交通代价为4+8+12+3+4+17+12+22=82: 医院建在村庄4时,各村庄往返总的交通代价为18+5+34+22+7+20+6+3=115。 显然,把医院建在村庄3时总体交通代价最少。 答案解析:[解析] 本题主要考查Floyd算法的思想和解题步骤。Floyd算法的基本思想是: 假设求从顶点υ i 到υ j 的最短路径。如果从υ i 到υ j 有弧,则从υ i 到υ j 存在一条长度为arcs[i][j]的路径,该路径不一定是最短路径,尚需进行n次试探。 (1)首先考虑路径(υ i ,υ 0 ,υ j )是否存在,即判别弧(υ i ,υ 0 )和(υ 0 ,υ j )是否存在。如果存在,则比较(υ i ,υ j )和(υ i ,υ 0 ,υ j )的路径长度,取长度较短者为从υ i 到υ j 的中间顶点的序号不大于0的最短路径。 (2)假如在路径上再增加一个顶点υ 1 ,也就是说,如果(υ i ,…,υ 1 )和(υ 1 ,…,υ j )分别是当前找到的中间顶点的序号不大于0的最短路径,那么(υ i ,…,υ 1 ,…,υ j )就有可能是从υ i 到υ j 的中间顶点的序号不大于1的最短路径。将它和已经得到的从υ i 到υ j 中间顶点序号不大于0的最短路径相比较,从中选出中间顶点的序号不大于1的最短路径之后,再增加一个顶点υ 2 ,继续进行试探。依次类推。 (3)在一般情况下,若(υ i ,…,υ k )和(υ k ,…,υ j )分别是从υ i 到υ k 和从υ k 到υ j 的中间顶点的序号不大于k-1的最短路径,则将(υ i ,…,υ k ,…,υ j )和已经得到的从υ i 到υ j 且中间顶点序号不大于k-1的最短路径相比较,其长度较短者便是从υ i 到υ j 的中间顶点的序号不大于k的最短路径。这样,在经过n次比较后,最后求得的必是从υ i 到υ j 的最短路径。 (4)按此方法,可以同时求得各对顶点间的最短路径。 document.getElementById("warp").style.display="none"; document.getElementById("content").style.display="block"; 查看试题解析出处>>

相关推荐

发布评论 查看全部评论