(PTA)数据结构(作业)14、图的强化

判断题

1、在一个有权无向图中,若ba的最短路径距离是12,且cb之间存在一条权为2的边,则ca的最短路径距离一定不小于10。T

2、Kruskal 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。F

克鲁斯卡尔算法查找最小生成树的方法是:将连通网中所有的边按照权值大小做升序排序,从权值最小的边开始选择,只要此边和已选择的边一起构成环路,就可以选择它组成最小生成树。对于 N 个顶点的连通网,挑选出 N-1 条符合条件的边,这些边组成的生成树就是最小生成树。

并不一定每步添加的边和点能加到那棵树上,下次找的边和点并不从某固定起点往下继续

3、Prim 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。T

对于包含 N 个顶点的连通网,普里姆算法每次从连通网中找出一个权值最小的边,这样的操作重复 N-1 次,由 N-1 条权值最小的边组成的生成树就是最小生成树。

从任意起点开始寻找,然后以此起点开始依据条件添加边和点,从始至终是一棵树

选择题

1、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表向量的大小为()。

A.n

B.n+1

C.n-1

D.n+e

2、我们用一个有向图来表示航空公司所有航班的航线。下列哪种算法最适合解决找给定两城市间最经济的飞行路线问题?

A.Dijkstra算法

B.Kruskal算法

C.深度优先搜索

D.拓扑排序算法

3、数据结构中Dijkstra算法用来解决哪个问题?

A.关键路径

B.最短路径

C.拓扑排序

D.字符串匹配

4、任何一个带权无向连通图的最小生成树——

A.是唯一的

B.是不唯一的

C.有可能不唯一

D.有可能不存在

5、给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:

A.20

B.22

C.8

D.15

6、使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到的各最短路径的目标顶点是:

A.5, 2, 3, 4, 6

B.5, 2, 3, 6, 4

C.5, 2, 4, 3, 6

D.5, 2, 6, 3, 4

7、以下算法的功能是()。

void  graph1( adjmatrix GA, int i, int n, int *visited)
{
   int k, j; Queue q;
   cout<<i<<‘ ‘;   visited[i]= 1;
   InitQueue( q);
   EnQueue (q, i);
   while ( !EmptyQueue(q) ) {
       k= OutQueue (q);
       for( j=0; j<n; j++) {
            if ( GA[k][j] != 0 && GA[k][j] != MaxValue && !visited[j] ) {
               cout<<j<<‘ ‘;  visited[j] = 1;
               EnQueue (q, j);
     }
  }
 }
}

A.从顶点i出发进行深度优先遍历

B.从顶点i出发进行广度优先遍历

C.输出顶点i的各邻接点

D.输出从顶点i出发到各顶点的路径

8、任何一个无向连通图的最小生成树()。

A.一定有多棵

B.可能不存在

C.有一棵或多棵

D.只有一棵

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值