数据结构与算法-图练习题

一.单选题(共5题,35.5分)

1、具有n个顶点的无向完全图的弧数为( )。

A、n(n-1)/2

B、n(n-1)

C、n(n+1)/2

D、n/2

正确答案: A 

2、下列有关图遍历的说法中不正确的是( )。

A、连通图的深度优先搜索是一个递归过程

B、图的广度优先搜索中邻接点的寻找具有“先进先出”特征

C、非连通图不能用深度优先搜索法

D、图的遍历要求每一顶点仅被访问一次

正确答案: C

3、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V1⊆V2,E1⊆E2,则称 ( )。

A、G1是G2的子图

B、G2是G1的子图

C、G1是G2的连通分量

D、G2是G1的连通分量

正确答案: A 

4、有向图的一个顶点的度数等于该顶点的 ( )。

A、入度

B、出度

C、入度与出度之和

D、入度与出度之和/2

正确答案: C 

5、与邻接矩阵相比,邻接表更适合于存储 ( )。

A、无向图 

B、连通图

C、稀疏图

D、稠密图

正确答案: C 

 

二.填空题(共5题,35.5分)

1、若无向图采用邻接矩阵存储方法,该邻接矩阵为一个(__)矩阵。

正确答案: 对称

2、一个具有n个顶点的有向完全图的弧数为(__)。

正确答案:n*(n-1)

3、在一个图中,所有顶点的度数之和等于所有边的数目的(__)倍。

正确答案: 2h-1

4、图的深度优先搜索方法类似于二叉树的(__)遍历,图的广度优先搜索方法类似于二叉树的(__) 遍历

正确答案:

第一空: 先根

第二空: 层次

5、图形结构中元素之间存在(__)关系。

正确答案:多对多

 

三.判断题(共4题,29.0分)

1、图结构可用邻接矩阵和邻接表两种方式存储

正确答案:

2、图的广度优先搜索可用堆栈的先进后出特性存储拜访过的结点,以记录下一层要拜访的结点。

正确答案:×

3、强连通图的各顶点间均可达。

正确答案:

4、对于任意一个图,从它的某个结点进行一次深度或广度优先遍历可以访问到该图的每个顶点。

正确答案:×

 

...... ( B )3. 有8个结点的无向最多有 条边。 A.14 B. 28 C. 56 D. 112 ( C )4. 有8个结点的无向连通最少有 条边。 A.5 B. 6 C. 7 D. 8 ( C )5. 有8个结点的有向完全有 条边。 A.14 B. 28 C. 56 D. 112 ( B )6. 用邻接表表示进行广度优先遍历时,通常是采用 来实现算法的。 A.栈 B. 队列 C. 树 D. ...... 二、填空题(每空1分,共20分) 1. 有 邻接矩阵 、 邻接表 等存储结构,遍历有 深度优先遍历 、 广度优先遍历 等方法。 2. 有向图G用邻接表矩阵存储,其第i行的所有元素之和等于顶点i的 出度 。 3. 如果n个顶点的是一个环,则它有 n 棵生成树。 4. n个顶点e条边的,若采用邻接矩阵存储,则空间复杂度为 O(n2) 。 5. n个顶点e条边的,若采用邻接表存储,则空间复杂度为 O(n+e) 。 ....... 1. 【严题集7.1①】已知如所示的有向图,请给出该的: 每个顶点的入/出度; 邻接矩阵; 邻接表; 逆邻接表。 2. 【严题集7.7②】请对下的无向带权: 写出它的邻接矩阵,并按普里姆算法求其最小生成树; 写出它的邻接表,并按克鲁斯卡尔算法求其最小生成树。 ........ 五、算法设计题(每题10分,共30分) 1. 【严题集7.14③】编写算法,由依次输入的顶点数目、弧的数目、各顶点的信息和各条弧的信息建立有向图的邻接表。 解:Status Build_AdjList(ALGraph &G) //输入有向图的顶点数,边数,顶点信息和边的信息建立邻接表 { InitALGraph(G); scanf("%d",&v); if(v<0) return ERROR; //顶点数不能为负 G.vexnum=v; scanf("%d",&a); if(a<0) return ERROR; //边数不能为负 G.arcnum=a; for(m=0;m<v;m++) G.vertices[m].data=getchar(); //输入各顶点的符号 for(m=1;m<=a;m++) { t=getchar();h=getchar(); //t为弧尾,h为弧头 if((i=LocateVex(G,t))<0) return ERROR; if((j=LocateVex(G,h))nextarc;q=q->nextarc); q->nextarc=p; } p->adjvex=j;p->nextarc=NULL; }//while return OK; }//Build_AdjList 2. 【严题集7.15③】试在邻接矩阵存储结构上实现的基本操作:DeleteArc(G,v,w)。 (刘提示:删除所有从第i个顶点出发的边的方法是 将邻接矩阵的第i行全部置0 ) ........
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我说、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值