数据结构自测题 第7章自测空题new

合集下载

7 第7章 植物的生长生理-自测题及参考答案

7 第7章 植物的生长生理-自测题及参考答案

第 7 章 植物的生长生理自测题:一、名词解释:1. 植物生长2. 分化3. 脱分化4. 再分化5. 发育6. 极性7.种子寿命8.种子生活力9. 种子活力 10. 需光种子 11. 细胞全能性 12. 植物组织培养 13. 人工种子 14. 温周期现象15. 协调最适温度 16. 顶端优势 17. 生长的相关性 18. 向光性 19. 生长大周期 20. 根冠比21. 黄化现象 22. 光形态建成 23. 光敏色素 24. 光受体 25.感性运动 26.生物钟二、缩写符号翻译:1. TTC2. R/T3.Pr、Pfr4. PhyⅠ5.PhyⅡ6.R7.FR8. UV-B9. BLR 11. LAI 12.GI 13.RH三、填空题:1. 按种子吸水的速度变化,可将种子吸水分为三个阶段, 、 、 。

2. 为使果树种子完成其生理上的后熟作用,在其贮藏期可采用 法处理种子。

3. 检验种子死活的方法主要有三种: 、 和 。

4. 植物细胞的生长通常分为三个时期: 、 和 。

5..种子萌发初期进行 呼吸,然后是 呼吸6. 有些种子的萌发除了需要水分、氧气和温度外,还受 的影响。

7. 在种子吸水的第l阶段至第2阶段,其呼吸作用主要是以 呼吸为主。

8. 将柳树枝条挂在潮湿的空气中,总是在 长芽,在 长根。

这种现象称为 。

9. 组织培养的理论依据是 ,用于组织培养的离体植物材料称为 。

10. 植物组织培养基一般由无机营养、碳源、 、 和有机附加物等五类物质组成。

11. 在组织培养诱导根芽形成时,当CTK/IAA的比值高时, 诱导 的分化;当CTK/IAA的比值低时, 诱导 的分化;中等水平的CTK/IAA的比值,诱导 的分化。

12. 蓝紫光对植物茎的生长有 作用。

13. 烟草叶子中的烟碱是在 中合成的。

14. 光敏色素有两种类型: 和 ,其中 型是生理激活型。

15. 光敏色素的单体是由一个 和一个 所组成。

16. 存在于高等植物中的三种光受体为: 、 、 。

数据结构自测题及答案

数据结构自测题及答案

数据结构自测题及答案**数据结构自测题及答案**一、选择题(每题2分,共10分)1. 数据结构是一种用于组织和管理数据的方式,它主要关注的是:A. 数据的存储和表示方式B. 数据的输入和输出方式C. 算法和数据的交互方式D. 数据处理的速度和效率2. 在数据结构中,数组是一种:A. 线性结构B. 树形结构C. 图形结构D. 集合结构3. 下列哪种数据结构是先进先出(FIFO)的:A. 栈B. 队列C. 链表D. 哈希表4. 在二叉树中,每个节点最多有几个子节点:A. 0B. 1C. 2D. 35. 下列哪种数据结构适合用于实现图的存储:A. 数组B. 链表C. 堆D. 散列表二、填空题(每题2分,共10分)1. 在栈中,最后一个进入栈的元素最先出栈,这种特点叫做**后进先出**。

2. 哈希表一般是通过**散列函数**将键映射到存储位置上。

3. 图中节点之间的关系可以用**边**来表示。

4. 在二叉搜索树中,左子树的值都小于根节点的值,右子树的值都大于根节点的值,这种特点叫做**二叉搜索树的性质**。

5. 在链表中,每个节点都包含一个指向下一个节点的**指针**。

三、判断题(每题2分,共10分)1. 队列是一种先进先出(FIFO)的数据结构。

(正确)2. 图是一种非线性的数据结构。

(正确)3. 二叉树是一种树形数据结构,每个节点最多有两个子节点。

(正确)4. 栈可以用数组和链表两种方式实现。

(正确)5. 哈希表的插入和查询操作的时间复杂度都为O(1)。

(错误)四、程序设计题(总分20分)请编写一个程序,实现以下功能:1. 定义一个结构体,用于表示学生信息,包含姓名、年龄和成绩三个字段。

2. 动态创建一个长度为5的数组,用于存储学生信息。

3. 通过键盘输入,依次为每个学生的姓名、年龄和成绩赋值,并存储到数组中。

4. 分别计算学生的平均年龄和平均成绩,并输出结果。

代码示例(C语言):```c#include<stdio.h>#include<stdlib.h>struct Student {char name[20];int age;float score;};int main() {struct Student* students = (struct Student*)malloc(5 * sizeof(struct Student));for (int i = 0; i < 5; i++) {printf("请输入第 %d 个学生的姓名:", i + 1);scanf("%s", students[i].name);printf("请输入第 %d 个学生的年龄:", i + 1);scanf("%d", &students[i].age);printf("请输入第 %d 个学生的成绩:", i + 1);scanf("%f", &students[i].score);printf("\n");}int totalAge = 0;float totalScore = 0.0;for (int i = 0; i < 5; i++) {totalAge += students[i].age;totalScore += students[i].score;}float avgAge = totalAge / 5.0;float avgScore = totalScore / 5.0;printf("平均年龄: %.2f\n", avgAge);printf("平均成绩: %.2f\n", avgScore);free(students);return 0;}```以上就是自测题及答案的全部内容。

数据结构第7章-答案

数据结构第7章-答案

数据结构第7章-答案(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、单选题C01、在一个图中,所有顶点的度数之和等于图的边数的倍。

A)1/2 B)1 C)2 D)4B02、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。

A)1/2 B)1 C)2 D)4B03、有8个结点的无向图最多有条边。

A)14 B)28 C)56 D)112C04、有8个结点的无向连通图最少有条边。

A)5 B)6 C)7 D)8C05、有8个结点的有向完全图有条边。

A)14 B)28 C)56 D)112B06、用邻接表表示图进行广度优先遍历时,通常是采用来实现算法的。

A)栈 B)队列 C)树 D)图A07、用邻接表表示图进行深度优先遍历时,通常是采用来实现算法的。

A)栈 B)队列 C)树 D)图A08、一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为。

A)O(n) B)O(e) C)O(n+e) D)O(n2)C09、已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是。

A)0 2 4 3 1 5 6 B)0 1 3 6 5 4 2 C)0 1 3 4 2 5 6 D)0 3 6 1 5 4 2B10、已知图的邻接矩阵同上题,根据算法,则从顶点0出发,按广度优先遍历的结点序列是。

A)0 2 4 3 6 5 1 B)0 1 2 3 4 6 5 C)0 4 2 3 1 5 6 D)0 1 3 4 2 5 6D11、已知图的邻接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是。

A)0 1 3 2 B)0 2 3 1 C)0 3 2 1 D)0 1 2 3A12、已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是。

A)0 3 2 1 B)0 1 2 3 C)0 1 3 2 D)0 3 1 2A13、图的深度优先遍历类似于二叉树的。

数据结构第七章考试题库[含答案]

数据结构第七章考试题库[含答案]

第七章图一、选择题1.图中有关路径的定义是()。

【北方交通大学 2001 一、24 (2分)】A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是2.设无向图的顶点个数为n,则该图最多有()条边。

A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n2【清华大学 1998 一、5 (2分)】【西安电子科技大 1998 一、6 (2分)】【北京航空航天大学 1999 一、7 (2分)】3.一个n个顶点的连通无向图,其边的个数至少为()。

【浙江大学 1999 四、4 (4分)】A.n-1 B.n C.n+1 D.nlogn;4.要连通具有n个顶点的有向图,至少需要()条边。

【北京航空航天大学 2000 一、6(2分)】A.n-l B.n C.n+l D.2n5.n个结点的完全有向图含有边的数目()。

【中山大学 1998 二、9 (2分)】A.n*n B.n(n+1) C.n/2 D.n*(n-l)6.一个有n个结点的图,最少有()个连通分量,最多有()个连通分量。

A.0 B.1 C.n-1 D.n【北京邮电大学 2000 二、5 (20/8分)】7.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。

【哈尔滨工业大学 2001 二、3 (2分)】A.1/2 B.2 C.1 D.48.用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为( )。

【中山大学1999一、14】A.5 B.6 C.8 D.99.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。

A.逆拓扑有序 B.拓扑有序 C.无序的【中科院软件所1998】10.下面结构中最适于表示稀疏无向图的是(),适于表示稀疏有向图的是()。

A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表【北京工业大学 2001 一、3 (2分)】11.下列哪一种图的邻接矩阵是对称矩阵?()【北方交通大学 2001 一、11 (2分)】A.有向图 B.无向图 C.AOV网 D.AOE网12.从邻接阵矩可以看出,该图共有(①)个顶点;如果是有向图该图共有(②)条弧;如果是无向图,则共有(③)条边。

数据结构作业答案第章图作业答案

数据结构作业答案第章图作业答案

第7章 图 自测卷解答 姓名 班级一、单选题(每题1分,共16分) 前两大题全部来自于全国自考参考书!( C )1. 在一个图中,所有顶点的度数之和等于图的边数的 倍。

A .1/2 B. 1 C. 2 D. 4 (B )2. 在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的 倍。

A .1/2 B. 1 C. 2 D. 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. 图 ( A )7. 用邻接表表示图进行深度优先遍历时,通常是采用 来实现算法的。

A .栈 B. 队列C. 树D. 图 ( )8. 已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是( D )9. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按深度优先遍历的结点序列是A . 0 2 4 3 1 5 6 B. 0 1 3 5 6 4 2 C. 0 4 2 3 1 6 5 D. 0 1 3 4 2 5 6 ( )10. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是A . 0 2 4 3 6 5 1 B. 0 1 3 6 4 2 5 C. 0 4 2 3 1 5 6 D. 0 1 3 4 2 5 6 (建议:0 1 2 3 4 5 6) ( C )11. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是A . 0 2 4 3 1 6 5 B. 0 1 3 5 6 4 2 C. 0 1 2 3 4 6 5 D. 0 1 2 3 4 5 6A .0 2 4 3 1 5 6B. 0 1 3 6 5 4 2C. 0 4 2 3 1 6 5D. 0 3 6 1 5 4 2建议:先画出图,再深度遍历⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡0100011101100001011010110011001000110010011011110( A )12. 已知图的邻接表如下所示,根据算法,则从顶点0出发不是深度优先遍历的结点序列是A.0 1 3 2 B. 0 2 3 1C. 0 3 2 1D. 0 1 2 3(A)14. 深度优先遍历类似于二叉树的A.先序遍历 B. 中序遍历 C. 后序遍历 D. 层次遍历(D)15. 广度优先遍历类似于二叉树的A.先序遍历 B. 中序遍历 C. 后序遍历 D. 层次遍历(A)16. 任何一个无向连通图的最小生成树A.只有一棵 B. 一棵或多棵 C. 一定有多棵 D. 可能不存在(注,生成树不唯一,但最小生成树唯一,即边权之和或树权最小的情况唯一)二、填空题(每空1分,共20分)1. 图有邻接矩阵、邻接表等存储结构,遍历图有深度优先遍历、广度优先遍历等方法。

数据结构与算法课程第7章的习题答案

数据结构与算法课程第7章的习题答案
if (loc==-1)printf("No find!\n");
else printf("Find success, location is: %d\n", loc+1);}
7.4
count+=JieChen(i+j)/(JieChen(i)*JieChen(j));
//
for (j=0; jv=N/2; j++) {//对每一种组合再算组合
if (s==9) printf("i=%d, j=%d, k=%d\n", i, j, k);
}
}
7.2 Armstrong
333
153=15 3
4444
1634=1 63 4
找出
枚举法:首先判断
【代码】
#include vstdio.h>
int digitLen(long m);//求整数m的位数
mid=(low+high)/2;
if (x>a[mid]) return find(a, x, mid+1,high);
else if (x<a[mid]) return find(a, x, low, mid-1);
else//即x==a[mid] return mid;
}
void main(){
7.1
的比例,试求出所有满足条件的三个三位数。例如:三个三位数
件。
分析:


置数组
最后,如果
【代码】
#include vstdio.h>
void main() {
int i, j, k, h, s;

数据结构自测题答案

数据结构自测题答案

第1章绪论二、填空题1. 4种基本结构是:集合、线性结构、树形结构、图状结构。

2. 树形结构中元素的关系是一对多,图形结构中元素的关系是多对多。

3. 顺序存储结构中数据元素的存储位置与其逻辑顺序是对应的。

4. 算法效率的度量方法有:事后统计方法和事前分析估算方法。

5. 好算法应达到的目标:正确性、可读性、健壮性、执行时间短、存储量低。

6. 抽象数据类型可细分为3种:原子类型、固定聚合类型和可变聚合类型。

7. 抽象数据类型的定义包括:数据对象的定义、数据关系的定义、基本操作的定义。

三、判断题五、应用题1. 按增长率从小到大的顺序排列下列各函数:(2/3)n ,nlog,n ,n2 ,n!22. 写出以下各函数的功能,并求出其时间复杂度。

(1) 功能是判断n是否为素数,时间复杂度为O(√n ) 。

(2) 功能是计算1!+2!+…+n! ,时间复杂度为O(n ) 。

(3) 功能是计算1!+2!+…+n! ,时间复杂度为O(n2 ) 。

六、算法题1. 编写算法计算1!+2!+…+n!,并使算法的时间复杂度为O(n)。

算法思想:用循环实现阶乘的累加求和,注意在求n!时,使用前一次循环中已经求出的(n-1)!的结果。

double factorial(int n){ int i;double p=1, sum=0;for( i=1; i<=n; i++){ p=p*i;sum=sum+p;}return(sum);}2. 编写算法计算2i (i=0,1,2,…,n),并将计算结果存入数组a中,设计算机中允许的最大整数值为MAXINT,则当2k >MAXINT(0≤k≤n)时,应进行出错处理。

算法思想:先判断n的取值是否合法,若非法则直接退出程序,若n 合法则继续计算2i,在计算2i时,需要判断2i的值是否大于MAXINT/2,这个条件其实就是判断2i+1的值是否大于MAXINT#define arrsize 100#define MAXINT 65535void calculate(int a[ ], int n){ int i;if(n<=0 || n>arrsize){ printf("n error!\n");exit(-1);}a[0]=1;printf("a[0]=%d\n", a[0]);for(i=1; i<n; i++){ a[i]=a[i-1]*2;printf("a[%d]=%d\n", i, a[i]);if( a[i]>MAXINT/2 ){ printf(“i=%d, ERROR!\n”, i+1);break;}}}第2章线性结构一、选择题二、填空题1. 需向后移动__n-i+1____个元素。

数据结构第七章图练习及答案

数据结构第七章图练习及答案

一、选择题1、有6个结点的有向完全图有()条弧。

A、36B、28C、30D、152、用邻接表表示图进行广度优先遍历时,通常采用()来实现算法。

A、栈B、队列C、树D、图3、用邻接表表示图进行深度优先遍历时,通常采用()来实现算法。

A、栈B、队列C、树D、图4、任何一个无向连通图的最小生成树()A、只有一棵B、一棵或多棵C、一定有多棵D、可能不存在5、在一个图中,所有顶点的度数之和等于所有边数和的()倍。

A、1/2B、1C、2D、46、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A、1/2B、1C、2D、47、一个有n个顶点的无向图最多有()条边。

A、nB、n(n-1)C、n(n-1)/2D、2n8、具有5个顶点的无向完全图有()条边。

A、6B、8C、10D、209、在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。

A、nB、n+1C、n-1D、n/210、对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是()A、(n+1)*(n-1)B、(n-1)*(n-1)C、nD、n*n11、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为(),所有邻接表中的结点总数是()(1)A、n B、n+1 C、n-1 D、n+e(2)A、e/2 B、e C、2e D、n+e12、采用邻接表存储的图的深度优先遍历算法类似于二叉树的()A、先序遍历B、中序遍历C、后序遍历D、按层遍历13、采用邻接表存储的图的广度优先遍历算法类似于二叉树的()A、先序遍历B、中序遍历C、后序遍历D、按层遍历14、判定一个有向图是否存在回路,除了利用拓扑排序方法外,还可以利用()A、求关键路径的方法B、求最短路径的方法C、宽度优先遍历算法D、深度优先遍历算法15、关键路径是AOE网中的()A、从源点到汇点的最长路径B、从源点到汇点的最短路径C、最短的回路D、活动的最早开始时间与最迟发生时间相等二、填空题1、有向图G用邻接矩阵存储,则其第i行的所有元素之和等于顶点i的(出度)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 图 自测卷 姓名 班级
一、单选题(每题1分,共16分)
( )1. 在一个图中,所有顶点的度数之和等于图的边数的 倍。

A .1/2 B. 1 C. 2 D. 4 ( )2. 在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的 倍。

A .1/2 B. 1 C. 2 D. 4 ( )3. 有8个结点的无向图最多有 条边。

A .14 B. 28 C. 56 D. 112 ( )4. 有8个结点的无向连通图最少有 条边。

A .5 B. 6 C. 7 D. 8 ( )5. 有8个结点的有向完全图有 条边。

A .14 B. 28 C. 56 D. 112 ( )6. 用邻接表表示图进行广度优先遍历时,通常是采用 来实现算法的。

A .栈 B. 队列 C. 树 D. 图 ( )7. 用邻接表表示图进行深度优先遍历时,通常是采用 来实现算法的。

A .栈 B. 队列 C. 树 D. 图 ( )8. 已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是
( )9. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按深度优先遍历的结点序列是
A . 0 2 4 3 1 5 6 B. 0 1 3 5 6 4 2 C. 0 4 2 3 1 6 5 D. 0 1 3 4 2 5 6 ( )10. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是
A . 0 2 4 3 6 5 1 B. 0 1 3 6 4 2 5 C. 0 4 2 3 1 5 6 D. 0 1 3 4 2 5 6 ( )11. 已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按广度优先遍历的结点序列是
A . 0 2 4 3 1 6 5 B. 0 1 3 5 6 4 2 C. 0 1 2 3 4 6 5 D. 0 1 2 3 4 5 6
A .0 2 4 3 1 5 6
B. 0 1 3 6 5 4 2
C. 0 4 2 3 1 6 5
D. 0 3 6 1 5 4 2
⎥⎥⎥

⎥⎥





⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡0100011101100001011010110011001000110010011011110
( )12. 已知图的邻接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是
( )13. 已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是
( )14. 深度优先遍历类似于二叉树的
A .先序遍历 B. 中序遍历 C. 后序遍历 D. 层次遍历 ( )15. 广度优先遍历类似于二叉树的
A .先序遍历 B. 中序遍历 C. 后序遍历 D. 层次遍历 ( )16. 任何一个无向连通图的最小生成树
A .只有一棵 B. 一棵或多棵 C. 一定有多棵 D. 可能不存在
二、填空题(每空1分,共20分)
1. 图有 、 等存储结构,遍历图有 、 等方法。

2. 有向图G 用邻接表矩阵存储,其第i 行的所有元素之和等于顶点i 的 。

3. 如果n 个顶点的图是一个环,则它有 棵生成树。

4. n 个顶点e 条边的图,若采用邻接矩阵存储,则空间复杂度为 。

5. n 个顶点e 条边的图,若采用邻接表存储,则空间复杂度为 。

6. 设有一稀疏图G ,则G 采用 存储较省空间。

7. 设有一稠密图G ,则G 采用 存储较省空间。

8. 图的逆邻接表存储结构只适用于 图。

9. 已知一个图的邻接矩阵表示,删除所有从第i 个顶点出发的方法是 。

10. 图的深度优先遍历序列 惟一的。

A .0 1 3 2 B. 0 2 3 1 C. 0 3 2 1 D. 0 1 2 3
A .0 3 2 1 B. 0 1 2 3 C. 0 1 3 2 D. 0 3 1 2
11. n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为;若采用邻接
表存储时,该算法的时间复杂度为。

12. n个顶点e条边的图采用邻接矩阵存储,广度优先遍历算法的时间复杂度为;若采用邻
接表存储,该算法的时间复杂度为。

13. 图的BFS生成树的树高比DFS生成树的树高。

14. 用普里姆(Prim)算法求具有n个顶点e条边的图的最小生成树的时间复杂度为;用克鲁
斯卡尔(Kruskal)算法的时间复杂度是。

15. 若要求一个稀疏图G的最小生成树,最好用算法来求解。

16. 若要求一个稠密图G的最小生成树,最好用算法来求解。

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

18. 拓扑排序算法是通过重复选择具有个前驱顶点的过程来完成的。

三、简答题(每题6分,共24分)
1. 【严题集7.1①】已知如图所示的有向图,请给出该图的:
(2)邻接矩阵;
(3)邻接表;
(4)逆邻接表。

2. 【严题集7.7②】请对下图的无向带权图:
(1)写出它的邻接矩阵,并按普里姆算法求其最小生成树;
(2)写出它的邻接表,并按克鲁斯卡尔算法求其最小生成树。

3. 【严题集7.5②】已知二维数组表示的图的邻接矩阵如下图所示。

试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。

4. 【严题集7.11②】试利用Dijkstra算法求图中从顶点a到其他各顶点
间的最短路径,写出执行算法过程中各步的状态。

四、给定下列网G: (10分)
1 试着找出网G的最小生成树,画出其逻辑结构图;
2 用两种不同的表示法画出网G的存储结构图;
3 用C语言(或其他算法语言)定义其中一种表示法(存储结构)的数据类型。

五、算法设计题(每题10分,共30分)
1. 【严题集7.14③】编写算法,由依次输入的顶点数目、弧的数目、各顶点的信息和各条弧的信息建立有向图的邻接表。

解:Status Build_AdjList(ALGraph &G) //输入有向图的顶点数,边数,顶点信息和边的信息,以建立邻接表
{
return OK;
}//Build_AdjList
2. 【严题集7.15③】试在邻接矩阵存储结构上实现图的基本操作:DeleteArc(G,v,w),即删除一条边的操作。

(如果要删除所有从第i个顶点出发的边呢?提示:将邻接矩阵的第i行全部置0 )
解://设本题中的图G为有向无权图
Status DeleteArc(MGraph &G, char v, char w) //在邻接矩阵表示的图G上删除边(v,w)
{
}
return OK;
}//Delete_Arc
3. 【严题集7.22③】试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点v i到顶点v j的路径(i≠j)。

附加题:【严题集7.27④】采用邻接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k的简单路径的算法。

(注1:一条路径为简单路径指的是其顶点序列中不含有重现的顶点。

注2:此题可参见严题集P207-208中有关按“路径”遍历的算法基本框架。

)。

相关文档
最新文档