PTA算法 图练习题改错

一个有向图的邻接表和逆邻接表中结点的个数可能不等。
T OR F
答案: 错误
原因:有向图邻接表出度必定有入度 定点必然守恒 ,定点数一定相等

有n-1条边的图肯定都是生成树。
T OR F
答案:错误
原因:非连通图无法构成树

无向图的邻接矩阵可用一维数组存储。
T OR F
答案:正确
原因: 二维数组可转化为一维数组

对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表向量的大小为(A)。
A.n
B.n+1
C.n-1
D.n+e
原因:题目表达不清晰,n个顶点和e条边用邻接表,表头向量大小为n,邻接表表结点为2e (一表边连接两个顶点,因此两边都会有表结点因此2e)

以下算法的功能是()。
A.从顶点i出发进行深度优先遍历
B.从顶点i出发进行广度优先遍历
C.输出顶点i的各邻接点
D.输出从顶点i出发到各顶点的路径

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);
     }
  }
 }
}

深度优先遍历可以用栈和递归(个人理解递归也是用堆栈的思想)来遍历
广度优先遍历可以用队列来遍历

要连通具有n个顶点的有向图,至少需要( B)条边。
A.n-1
B.n
C.n+1
D.2n
原因:这题题目不清晰导致答案存在歧义,有向图存在强连通图,也存在若连通图,强连通必须形成环n条边 ,弱连通n-1条边,这题默认强连通的立场。

从邻接矩阵 在这里插入图片描述
可以看出,如果是有向图该图共有(B ) 条弧。
A.5
B.4
C.3
D.2
E.以上答案均不正确
原因:邻接矩阵无论出度,入度,都可以表示。邻接表需要两张表来表示。

使用 Dijkstra 算法求下图中从顶点 1 到其余各顶点的最短路径,将当前找到的从顶点 1 到顶点 2、3、4、5 的最短路径长度保存在数组 dist 中,求出第二条最短路径后,dist 中的内容更新为:
A.26、3、14、6
B.25、3、14、6
C.21、3、14、6
D.15、3、14、6
在这里插入图片描述
题解:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值