niusouti.com

在一个带权有向图G中,某两个顶点间的最短路径,一定包含路径起点关联的最短弧。

题目

在一个带权有向图G中,某两个顶点间的最短路径,一定包含路径起点关联的最短弧。


相似考题

1.●试题六阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】本题将有向网(带权有向图)定义为类AdjacencyWDigraph。类中的数据成员n表示有向网中的顶点数;a为带权邻接矩阵,用于存储有向网中每一对顶点间弧上的权值;c为二维数组,存储有向网中每一对顶点间的最短路径长度;kay为二维数组,存储最短路径,kay[i][j]=k表示顶点i 到达顶点j的最短路径必须经过顶点k。类中的主要成员函数有:Input():输入有向网的顶点数、各条弧及权值,建立带权领接矩阵a。若顶点i到顶点j有弧,则a[i][j]取弧上的权值,否则a[i][j]的值取NoEdge。AllPairs();用弗洛伊德(Floyd)算法求有向网中每一对顶点间的最短路径长度。OutShortestPath(int i,int j):计算顶点i到顶点j的最短路径。outputPath(int i,int j):输出顶点i到顶点j的最短路径上的顶点。Floyd算法的基本思想是递推地产生一个矩阵序列C0,C1,C2,…,Cn,其中C0是已知的带权邻接矩阵,a,Ck(i,j)(0≤i,j<n)表示从顶点i到顶点j的中间顶点序号不大于k 的最短路径长度。如果i到j的路径没有中间顶点,则对于0≤k<n,有Ck(i,j)=C0(i,j)=a[i][j]。递推地产生C1,C2,…,Cn的过程就是逐步将可能是最短路径上的顶点作为路径上的中间顶点进行试探,直到为全部路径都找遍了所有可能成为最短路径上的中间顶点,所有的最短路径也就全部求出,算法就此结束。【C++代码】#include<iostream.h>#define NoEdge 10000 //当两个顶点之间没有边相连时,在邻接矩阵中用NoEdge表示void Make2DArray(int * * &x,int rows,int cols);class AdjacencyWDigraph{privateint n;//有向网中的顶点数目int**a;//存储顶点间弧上的权值int**c;//存储计算出的最短路径长度int**kay;//存储求出的最短路径pubic:int Vertices()const {return n;}void AllPairs();void Input();//输入有向网的顶点数、各条弧及权值,建立邻接矩阵avoid OutShortestPath(int i,int j);//计算顶点i到j的最短路径(试卷中未列出)~AdjacencyWDigraph();//析构函数(试卷中未列出)private:void outputPath(int i,int j);};void AdjacencyWDigraph::AllPairs(){int i,j,k,t1,t2,t3;for(i=1;i<=n;k++)for(j=1;j<=n;++j){c[i][j]= (1) ;kay[i][j]=0;}for(k=1;k<=n;k++)for(i=1;i<=n;i++){if(i==k) continue;t1=c[i][k];for(j=1;j<=n;j++){if(j==k||j==i)continue;t2=c[k][j];t3=c[i][j];if(t1!=NoEdge && t2!=NoEdge &&(t3==NoEdge||t1+t2<t3)){c[i][j]= (2) ;kay[i][j]= (3) ;}}//for}//for}void AdjacencyWDigraph:: outputPath(int i,int j){//输出顶点i到j的最短路径上的顶点if(i==j)return;if(kay[i][j]==0)cout<<j<<′′;else { outputPath(i, (4) ); outputPath( (5) );}}void Adjacency WDigraph::Input(){int i,j,u,v,w,E;cout<<″输入网中顶点个数:″;cin>>n;cout<<″输入网中弧的个数:″;cin>>E;Make2DArray(a,n+1,n+1);for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=NoEdge;for(i=1;i<=n;i++)a[i][i]=0;Make2DArray(c,n+1,n+1);Make2DArray(kay,n+1,n+1);for(i=1;i<=E;i++){cout<<″输入弧的信息(起点终点权值):″;cin>>u>>v>>w;a[u][v]=w;}}void Make2DArray(int**&x,int rows,int cols){int i,j;x=new int*[rows+1];for(i=0;i<rows+1;i++)x[i]=new int [cols+1];for(i=1;i<=rows;i++)for(j=1;j<=cols;j++=x[i][j]=0;}

更多“在一个带权有向图G中,某两个顶点间的最短路径,一定包含路径起点关联的最短弧。”相关问题
  • 第1题:

    阅读下列说明,回答问题l和问题2,将解答填入答题纸的对应栏内。

    【说明】

    现需在某城市中选择一个社区建一个大型超市,使该城市的其他社区到该超市的距离总和最小。用图模型表示该城市的地图,其中顶点表示社区,边表示社区间的路线,边上的权重表示该路线的长度。

    现设计一个算法来找到该大型超市的最佳位置:即在给定图中选择一个顶点,使该顶点到其他各顶点的最短路径之和最小。算法首先需要求出每个顶点到其他任一顶点的最短路径,即需要计算任意两个顶点之间的最短路径;然后对每个顶点,计算其他各顶点到该顶点的最短路径之和;最后,选择最短路径之和最小的顶点作为建大型超市的最佳位置。

    下面是求解该问题的伪代码,请填充其中空缺的(1)至(6)处。伪代码中的主要变量说明如下:

    W:权重矩阵

    n:图的顶点个数

    sP:最短路径权重之和数组,SP[i]表示顶点i到其他各顶点的最短路径权重之和,i从1到n

    rain_SP:最小的最短路径权重之和

    min_v:具有最小的最短路径权重之和的顶点

    i:循环控制变量

    j:循环控制变量

    k:循环控制变量

    LOCATE-SHOPPINGMALL(W,n)

    1 D(0)=W

    2 for(1)

    3 for i=1 t0 n

    4 for j=1 t0 n

    5

    6 (2)

    7 else

    8 (3)

    9 for i=1 to n

    10 sP[i] =O

    11 for j=1 to n

    12 (4)

    13 min sP=sP[1]

    14 (5)

    15 for i=2 t0 n

    16 if min sP>sP[i]

    17 min sP=sP[i]

    18 min V=i

    19 return (6)


    正确答案:(1) k=1 tO n (5)rain_v=1(6)min_v
    (1) k=1 tO n (5)rain_v=1(6)min_v

  • 第2题:

    Dijkstra最短路径算法从源点到其余各顶点的最短路径的路径长度按递增次序依次产生。()

    此题为判断题(对,错)。


    正确答案:√

  • 第3题:

    在具有6个顶点的无向简单图中,当边数最少为(26)条时,才能确保该图一定是连通图,当边数最少为(27)条时,才能确保该图一定是哈密尔顿图。

    给定带权的有向图,如下图所示。设该图代表一个地区的交通图,从S到T的最短路径有(28)条,路径的长度是(29),从S出发经过每点一次且只有一次到T的路径(哈密尔顿路径)有(30)条。

    A.11

    B.12

    C.13

    D.55


    正确答案:A

  • 第4题:

    在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。

    A.G中有弧

    B.G中有一条从Vi到Vj的路径

    C.G中没有弧

    D.G中有一条从Vj到Vi的路径


    正确答案:D

  • 第5题:

    以下说法中正确的是(49)。

    A.带权连通图的某最小生成树的权值之和一定小于其他生成树的权值之和

    B.从源点到终点的最短路径是惟一的

    C.任意一个AOV网不一定存在拓扑序列

    D.任意一个AOE网中的关键路径是惟一的


    正确答案:C
    解析:带权连通图的某最小生成树的权值之和不一定小于其他生成树的权值之和;对于一个图而言,从源点到终点的最短路径也不一定是惟一的;任意一个AOE网中的关键路径也不一定惟一,因此,只有说法C正确。

  • 第6题:

    在一个有向图G的拓扑序列中,顶点Vi排列在Vj之前,说明图G中(59)。A.一定存在弧B.

    在一个有向图G的拓扑序列中,顶点Vi排列在Vj之前,说明图G中(59)。

    A.一定存在弧<vi,vj>

    B.一定存在弧<vj,vi>

    C.可能存在vi到vj的路径,而不可能存在vj到vi的路径

    D.可能存在vj到vi的路径,而不可能存在vi到vj的路径


    正确答案:C
    拓扑序列是拓扑排序的产出物。对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。由此可见,如果Vi排列在Vj之前,说明可能存在vi到vj的路径,而不可能存在vj到vi的路径。

  • 第7题:

    在带权图中,两个顶点之间的路径长度是()。

    • A、路径上的顶点数目
    • B、路径上的边的数目
    • C、路径上顶点和边的数目
    • D、路径上所有边上的权值之和

    正确答案:D

  • 第8题:

    霍夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。


    正确答案:正确

  • 第9题:

    在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情况下不可能出现的是()。

    • A、G中有弧
    • B、G中有一条从Vi到Vj的路径
    • C、G中没有弧
    • D、G中有一条从Vj到Vi的路径

    正确答案:D

  • 第10题:

    带权连通图中某一顶点到图中另一定点的最短路径不一定唯一。


    正确答案:正确

  • 第11题:

    最短路径法的特点是什么?()

    • A、该方法取最短路径为行驶路径,从起点到终点存在两条或两条以上的路径
    • B、将最短路径作为车辆选择路径,此方法最为简便,投资少
    • C、该方法取最短路径为行驶路径,从起点到终点存在两条或多条的路径
    • D、该方法取最短路径为行驶路径,从起点到终点存在多条路径

    正确答案:A,B

  • 第12题:

    判断题
    带权连通图中某一顶点到图中另一定点的最短路径不一定唯一。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    求有向图G=(V,E)中每一对顶点间的最短路径,用Dijkstra算法和弗罗伊德算法,时间复杂度都是O(n3)。()

    此题为判断题(对,错)。


    正确答案:√

  • 第14题:

    关键路径是指AOE(Active On Edge)网中______。

    A.最长的回路

    B.最短的回路

    C.从源点到汇点(结束顶点)的最长路径

    D.从源点到汇点(结束顶点)的最短路径

    A.

    B.

    C.

    D.


    正确答案:C
    解析:AOE(Activity On Edge)网是一个有向图,通常用来估算工程的完成时间,图中的顶点表示事件,有向边表示活动,边上的权表示完成这一活动所需的时间。AOE网没有有向回路,存在唯一的入度为O的开始顶点,及唯一的出度为O的结束顶点。对AOE网最关心的两个问题是:完成整个工程至少需要多少时间?哪些活动是影响工程进度的关键?这就引出两个概念:关键路径和关键活动。
      · 关键路径:从开始顶点到结束顶点的最长路径,路径的长度也是工程完成的最少时间。
      · 关键活动:关键路径上的所有活动,关键活动的最大特征是:该活动的最早开始时间等于该活动所允许的最迟开始时间。关键活动拖延时间,整个工程也要拖延时间。求关键路径只需求出起点到终点的最长路径。注意,关键路径不是唯一的。

  • 第15题:

    下列算法中,()算法用来求图中某顶点到其他顶点所有顶点之间的最短路径。

    A.Dijkstra

    B.Floyed

    C.Prim

    D.Kruskal


    正确答案:A

  • 第16题:

    关键路径是指AOE(Activity On Edge)网中(38)。

    A.最长的回路

    B.最短的回路

    C.从源点到汇点(结束顶点)的最长路径

    D.从源点到汇点(结束顶点)的最短路径


    正确答案:C
    解析:在AOE网中,用顶点表示活动,用有向边vi,vi>表示活动vi必须先于活动vi进行。如果在有向环的带权有向图中用有向边表示一个工程中的各项活动,用有向边上的权值表示活动的持续时间,用顶点表示事件,则这种有向图叫做用边表示活动的网络,简称AOE网络。关键路径是指在AOE网络中从源点到汇点的最长路径。拓扑排序、最短路径和计算关键路径都是有向图的重要运算。根据关键路径的定义,正确答案为C。

  • 第17题:

    第n最短路径问题

    *第二最短路径:每举最短路径上的每条边,每次删除一条,然后求新图的最短路径,取这些路径中最短的一条即为第二最短路径。

    *同理,第n最短路径可在求解第n-1最短路径的基础上求解。


    正确答案:

     

     

  • 第18题:

    关键路径是指AOE(Activity On Edge)网中______。

    A.最长的回路

    B.最短的回路

    C.从源点到汇点(结束顶点)的最长路径

    D.从源点到汇点(结束顶点)的最短路径


    正确答案:C

  • 第19题:

    从起点到终点的最短路线,以下叙述()不正确。

    • A、从起点出发的最小权有向边必含在最短路线中
    • B、整个图中权最小的有向边必包含在最短路线中
    • C、整个图中权最大的有向边可能含在最短路线中
    • D、从起点到终点的最短路线是唯一的

    正确答案:A,B,C

  • 第20题:

    用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度()的次序来得到最短路径的。


    正确答案:递增

  • 第21题:

    下面()方法可以判断出一个有向图是否有环。

    • A、深度优先遍历
    • B、拓扑排序
    • C、求最短路径
    • D、求关键路径

    正确答案:B

  • 第22题:

    在进行网络最短路径分析时,计算最短路径时权重一般可以设置为()。

    • A、从起点到终点的时间
    • B、从起点到终点的费用
    • C、两个节点的实际距离
    • D、从起点到终点的线段数

    正确答案:C

  • 第23题:

    填空题
    用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度()的次序来得到最短路径的。

    正确答案: 递增
    解析: 暂无解析

  • 第24题:

    多选题
    关于最短路,以下叙述()不正确。
    A

    从起点出发到终点的最短路是唯一的

    B

    从起点出发到终点的最短路不一定是唯一的,但其最短路线的长度是确定的

    C

    从起点出发的有向边中的最小权边,一定包含在起点到终点的最短路上

    D

    从起点出发的有向边中的最大权边,一定不包含在起点到终点的最短路上

    E

    整个网络的最大权边的一定不包含在从起点到终点的最短路线上


    正确答案: C,D
    解析: 暂无解析