判断题

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.只有一棵

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐