


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD格式2021 2021 学年度第 2 学期"数据构造"复习提纲一、单项选择题题号12345678910答案CADCABABCD题号11121314151617181920答案AADAADCBAB1在数据构造中,从逻辑上可以把数据构造分为_ 两类。A 动态构造和静态构造B 紧凑构造和非紧凑构造C线性构造和非线性构造D 内部构造和外部构造2链表不具有的特点是_。A 可随机访问任一元素B 插入、删除不需要移动的元素C不必事先估计存储空间D 所需空间与线性表长度成正比3假设线性表最常用的运算是存取第i 个元素及其前驱元素,那么采用_存储方式节省时间。A 单链表B 双链表C循
2、环单链表D顺序表4算法分析的目的是_。A 找出数据构造的合理性B 研究算法中的输入和输出关系C分析算法的效率以求改进D 分析算法的易读性和文档性5假设一个栈用数组data1.n 存储,初始栈顶指针top 为 0 ,那么以下元素x 进栈的操作正确的选项是_。A top+;datatop=x;B datatop=x;top+;Ctop-;datatop=x; D datatop=x;top-;6表达式a*(b+c)-d的后缀表达式是_。A abcd*+-B abc+*d-Cabc*+d-D -+*abcd7递归函数f(1)=1 , f(n)=f(n-1)+n(n 1) 的递归出口是 _。A f(1
3、)=1B f(1)=0Cf(0)=0D f(n)=n8将递归算法转换成对应的非递归算法时,通常需要使用_保存中间结果。A 队列B 栈C链表D树9对稀疏矩阵采用压缩存储,其缺点之一是_。A 无法判断矩阵有多少行、多少列B 无法根据行、列号查找某个矩阵元素C无法根据行、列号直接计算矩阵元素的存储地址D 使矩阵元素之间的逻辑关系更加复杂10一个 n 阶上三角矩阵a 按行优先顺序压缩存放在一维数组b 中,那么 b 中的元素个数是 _。A nB n2Cn(n+1)/2D n(n+1)/2+111度为 4,高度为 h 的树 _ 。A 至少有 h+3 个结点 B最多有4h-1 个结点C最多有 4h 个结点D
4、 至少有h+4 个结点12用双亲存储构造表示树,其优点之一是比较方便_。A 找指定结点的双亲结点B 找指定结点的孩子结点C找指定结点的兄弟结点D 判断某结点是不是叶子结点专业资料整理WORD格式第1页共12页专业资料整理WORD格式13设有 13 个值,用它们组成一棵哈夫曼树,那么该哈夫曼树共有_个结点。A 13B12C26D 2514无向图的邻接矩阵是一个_。A 对称矩阵B 零矩阵C上三角矩阵D对角矩阵15在图的广度优先遍历算法中用到一个队列,每个顶点最多进队_次。A 1B 2C3D不确定16在用 Prim 和 Kruskal 算法构造最小生成树时,前者更适合于_。A 有向图B 无向图C稀疏
5、图D稠密图17有一个有序表R1.13=1, 3, 9, 12, 32, 41, 45, 62, 75, 77, 82, 95, 100,当用二分查找法查找值为82的节点时,经过_次比较后查找成功。A 1B 2C4D 818在采用分块查找时,假设线性表中共有625 个元素,查找每个元素的概率一样,假设采用顺序查找来确定结点所在的块,那么每块分为_个结点最正确。A 9B25C6D 62519假设 R 中有 10000 个元素,如果仅要求求出其中最大的10 个元素,那么采用 _方法最节省时间。A 堆排序B 希尔排序C快速排序D基数排序20有一组序列 48, 36, 68, 99, 75, 24, 2
6、8, 52 进展快速排序,要求结果从小到大排序,那么进展一次划分之后的结果为 _。A 24 28 36 48 52 68 75 99B 28 36 24 48 75 99 68 52C36 68 99 48 75 24 28 52D 28 36 24 48 99 75 68 52二、填空题题号答案题号答案题号答案1问题规模2O(n)3假溢出42855462h-17关键活动8无环图9RL10 基数排序1在分析算法的时间复杂度时,通常认为算法的执行时间是_的函数。2求一个双链表长度的算法的时间复杂度为_。3在实现顺序队的时候,通常将数组看成是一个首尾相连的环,这样做的目的是为了防止产生_现象。4有
7、如下递归过程:void reverse( int m )printf("%d", n%10);if( n/10!=0 )reverse(n/10);调用语句reverse(582) 的结果是 _。5广义表 (a, b,( ), c), d), e, (f), g)的深度是 _。6在高度为h h0的二叉树中最多有_ 个结点。7 AOE 网中从源点到汇点长度最长的路径称为关键路径,该路径上的活动称为_。8可以进展拓扑排序的有向图一定是_。9输入序列为20 , 35 , 30 ,构造一棵平衡二叉树,其中的第一次调整为_型调整。10 在排序过程中,任何情况下都不比较关键字大小的排序
8、方法是_。专业资料整理WORD格式第2页共12页专业资料整理WORD格式三、判断题题号12345678910答案FTFFFTFTFF1如果数据元素值发生改变,那么数据的逻辑构造也随之改变。2在循环单链表中没有为空的指针域。3顺序栈中元素值的大小是有序的。4任何递归算法都是尾递归。5稀疏矩阵的特点是矩阵中元素较少。6哈夫曼树中不存在度为1 的结点。7完全二叉树中的每个结点或者没有孩子或者有两个孩子。8强连通分量是有向图中的极大强连通子图。9哈希冲突是指同一个关键字的记录对应多个不同的哈希地址。10 任何情况下折半插入排序都优于直接插入排序。四、问答题1 设计一个算法,删除一个单链表 L 中元素值
9、最大的结点假设这样的结点唯一。 void delmaxnode(LinkList *&L)LinkList *p,*pre, *maxp, *maxpre; p=L->next; pre=L;maxp=p; maxpre=pre; while (p!=NULL)if (maxp->data<p->data)maxp=p;maxpre=pre;pre=p;p=p->next;maxpre->next=maxp->next;free(maxp);2一棵完全二叉树的第 6 层设根为第 1 层有 8 个叶子结点,那么该完全二叉树的结点个数最多是多少。完
10、全二叉树的叶子结点只能在最下两层,对于此题,结点最多的情况是第6 层为倒数第二层,即 16 层构成一个满二叉树,其结点总数为26 -1=63 。第 6 层有 25=32 个结点,其中含 8 个叶子结点, 另外有 32-8=24个非叶子结点,它们中的每个结点都有两个孩子结点均为第7 层的叶子结点 ,计 48 个叶子结点,这样最多的结点个数=63+48=111 。3一个有向图G 的邻接表存储如以下列图所示,要求:专业资料整理WORD格式第3页共12页专业资料整理WORD格式 1给出该图的邻接矩阵存储构造; 2给出该图的所有强连通分量。4什么是平衡二叉树?输入关键字序列16, 3 , 7, 11 ,
11、给出构造一棵平衡二叉树的过程。假设一棵二叉排序树中每个结点的左右子树的高度最多相差1,那么称此二叉树为平衡二叉树。10-10167716000013316316011专业资料整理WORD格式第4页共12页专业资料整理WORD格式5线性表有顺序表和链表两种存储方式,不同的排序方法适合不同的存储构造。对于常见的内部排序方法,说明哪些更适合于顺序表,哪些更适合于链表?哪些两者都适合?更适合于顺序表的排序方法有希尔排序、折半插入排序、快速排序、堆排序和归并排序。更适合于链表的排序方法是基数排序两者都适合的排序方法有直接插入排序、冒泡排序和简单排序。五、算法设计题用 Floyd 算法计算图中任意两个顶点
12、之间的最短路径。void Floyd(MGraph g)int AMAXVMAXV,pathMAXVMAXV;int i,j,k;for (i=0; i<g.n; i+)for (j=0; j<g.n; j+)Aij=g.edgesij;pathij=-1;for (k=0; k<g.n; k+)for (i=0; i<g.n; i+)for (j=0; j<g.n; j+)if (Aij>Aik+Akj)Aij=Aik+Akj;pathij=k;/修改最短路径Dispath(A,path,g.n);/输出最短路径专业资料整理WORD格式第5页共12页专业资
13、料整理WORD格式一、选择题1研究数据构造就是研究。A 数据的逻辑构造B 数据的存储构造C 数据的逻辑和存储构造D 数据逻辑构造、 存储构造及其数据在运算上的实现2链表不具有的特点是。A 可随机访问任一元素B 插入删除不需要移动元素C 不必事先估计存储空间D 所需空间与线性表长度成正比3设一个栈的输入序列为1,2,3,4,那么借助一个栈所得到的输出序列不可能是。A1,2,3,4B2,4,3,1C3,1,4,2D3,2,4,14设计一个判别表达式中左、右括号是否配对出现的算法,采用数据构造最正确。A 线性表的顺序存储构造B 栈C 线性表的链式存储构造D 队列5表达式 a*(b+c)-d 的后缀表
14、达式是。Aabcd*+-Babc+*d-Cabc*+d-D-+*abcd6队列的操作原那么是。A 先进先出B 只能进展插入C 后进先出D 只能进展删除7判断带头结点的单链表llist 为空的条件是。Allist->link=llistBllist=NULLCllist->link=NULLDllist!=NULL8一个具有 20个结点的完全二叉树,其叶结点个数为。A9B10C11D129以下不属于内部排序的算法是。A 归并排序B 拓扑排序C 选择排序D 插入排序10 在一棵度为 3 的树中,度为 3 的结点数为 2,度为 2 的结点数为 1,那么叶结点数为。A4B5C6D71234
15、5678910DACBBACBBC二、填空题1二叉树有 50 个叶子结点,那么该二叉树的总结点数至少是99 。2在一个长度为 n 的线性表的第 i 个元素 1 i n之前插入一个元素时,插入函数需向后移动n-i+1个元素。3假设频繁地对线性表进展插入与删除操作,该线性表应采用链式存储构造。4假设某线性表采用顺序存储构造,每个元素占2 个存储单元,首地址为是100 ,那么第 5 个元素的地址是108。5假设结点 y 是结点 x 的一棵子树的根,那么x 称作 y 的父结点。6一个串中包括的字符个数称作这个串的长度。专业资料整理WORD格式第6页共12页专业资料整理WORD格式7一棵树高为 h 的完
16、全二叉树至少有 2h-1个结点,至多有2h -1个结点。8算法的复杂性分析主要从算法的时间复杂性和空间复杂性进展考虑。9数据构造主要根据逻辑构造和存储构造进展分类。10 图的遍历分为两种类型:深度优先遍历和广度优先遍历。三、算法分析与设计题1在链表中,假设指针p,要在指针 p 所指的结点之后插入数据域值相继为 a 和 b 的两个结点,指针 s 指向结点 a。写出实现上述插入操作的关键语句。As->next->next=p->next;专业资料整理WORD格式p->next=s;2如下列图的一棵二叉树,写出对此树的先根序列、中根序列和后根序列。先根序列: ABDEFC中根
17、序列: DEFBAC后根序列: FEDBCABCD专业资料整理WORD格式E3以5, 6, 7, 8,9,10, 15,18 ,22 作为叶结点的权值来构造一棵Huffman 树。F1004159192226339101115151856784请设计一个算法,求出循环表中结点的个数。int Countnode(ClinkList clist)int n ;PNode p ;p=clist->link ;n=0 ;while(p!=clist)n+ ;p=p->link ;return(+n) ; 专业资料整理WORD格式第7页共12页专业资料整理WORD格式一、填空题1设有一个 8
18、 阶的对称矩阵 A, 采用压缩存储方式 ,按行优先顺序存储方式。 设 a11 为第一个元素其存储地址为1,假设每个元素占用1 个存储单元64 的存储地址为19。, 那么 a2假设频繁地对线性表进展插入与删除操作,该线性表应采用链式存储构造。3算法的 5 个重要特征是有穷性 、确定性、可行性、输入和输出。4. 每次从无序子表中取出一个元素, 然后把它插入到有序子表的适当位置, 那么此种排序方法专业资料整理WORD格式叫做直接插入排序。专业资料整理WORD格式5设二维数组A1.M,1.N即M行N 列按行优先顺序存储在一维数组B1.M*N中,专业资料整理WORD格式那么二维数组元素Ai,j在一维数组
19、B 中的下标为(i-1)*N+j。专业资料整理WORD格式6在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找( 二分查找) 方法查找元素24,专业资料整理WORD格式需要进展4次元素之间的比较。专业资料整理WORD格式7一棵树高为 h 的完全二叉树至少有2 h-1个结点,至多有2 h-1 个结点。8由权值分别为11,8,6,2,5的叶结点生成一棵Huffman 树,它的带权路径长度为71 。9对关键字序列 (52,80,63,44,48,91)一趟快速排序后的结果(48 ,44,52,63,80,91) 。二、单项选择题题号12345678910答案DAAAC
20、BDBAC题号111213141516 17181920答案CAADDCDAAC1. 数据构造是指。A. 一种数据类型B. 数据的存储构造C. 一组性质一样的数据元素的集合D. 相互之间存在一种或多种特定关系的数据元素的集合2. 以下算法的时间复杂度为。void fun(int n)int i=1;第8页共12页专业资料整理WORD格式while (i<=n)i+;A. O(n)B. O(n )C. O(nlog 2n)D. O(log 2n)3. 在一个长度为 n 的有序顺序表中删除元素值为x 的元素时, 在查找元素 x 时采用二分查找, 此时的时间复杂度为。A. O(n)B. O(n
21、log 2n)C. O(n 2)D. O(n )4.在一个带头结点的循环单链表L 中,删除元素值为x 的结点,算法的时间复杂度为。A. O(n)B. O(n )C. O(nlog 2n)D. O(n 2)5.假设一个栈采用数组 s0.n-1 存放其元素,初始时栈顶指针为n,那么以下元素x 进栈的正确操作是。A.top+;stop=x;B.stop=x;top+;C.top-;stop=x;B.stop=x;top-;6. 中缀表达式“ 2*(3+4) - 1的后缀表达式是,其中 #表示一个数值的完毕。A. 2#3#4#1#*+ -B. 2#3#4#+*1# -C. 2#3#4#*+1# -D.
22、 - +*2#3#4#1#7.设环形队列中数组的下标为0 N- 1,其队头、队尾指针分别为front 和 rear front 指向队列中队头元素的前一个位置, rear 指向队尾元素的位置 ,那么其元素个数为。A. rear - frontB. rear- front - 1C. (rear- front) N+1D. (rear - front+N) N8.假设用一个大小为 6 的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针 rear 指向队尾元素的位置。 假设当前 rear 和 front 的值分别为0 和 3,当从队列中删除一个元素,再参加两个元素后,
23、 rear 和 front 的值分别为。A.1 和5B.2和4C.4和2D.5和19.一棵深度为 h h 1的完全二叉树至少有个结点。A. 2 h-1B. 2hhh-1+1C.2 +1D. 210.一棵含有 n 个结点的线索二叉树中,其线索个数为。A. 2nB. n- 1C. n+1D. n11. 设一棵哈夫曼树中有 1999个结点,该哈夫曼树用于对个字符进展编码。A. 999B. 998C. 1000D. 100112.一个含有 n 个顶点的无向连通图采用邻接矩阵存储,那么该矩阵一定是。A.对称矩阵B. 非对称矩阵C.稀疏矩阵D. 稠密矩阵13.设无向连通图有 n 个顶点 e 条边,假设满足
24、,那么图中一定有回路。A. e nB. e<nC. e=n- 1D. 2e n14. 对于 AOE 网的关键路径,以下表达是正确的。A. 任何一个关键活动提前完成,那么整个工程一定会提前完成B. 完成整个工程的最短时间是从源点到汇点的最短路径长度专业资料整理WORD格式第9页共12页专业资料整理WORD格式C. 一个 AOE 网的关键路径一定是唯一的D. 任何一个活动持续时间的改变可能会影响关键路径的改变15.设有 100 个元素的有序表,用折半查找时,不成功时最大的比较次数是。A. 25B. 50C. 10D. 716.在一棵 m 阶 B- 树中删除一个关键字会引起合并,那么该结点原有
25、个关键字。A. 1B. m/2C. m/2 - 1D. m/2 +117.哈希查找方法一般适用于情况下的查找。A. 查找表为链表B. 查找表为有序表C. 关键字集合比地址集合大得多D. 关键字集合与地址集合之间存在着某种对应关系。18. 对含有 n 个元素的顺序表采用直接插入排序方法进展排序,在最好情况下算法的时间复杂度为。A. O(n)B. O(nlog 2n)C. O(n 2)D. O(n )19. 用某种排序方法对数据序列 24,88,21,48,15,27,69,35,20 进展递增排序,元素序列的变化情况如下: 1 24,88,21,48,15,27,69,35,20( 2 20,1
26、5,21,24,48,27,69,35,88( 3 15,20,21,24,35,27,48,69,88( 4 15,20,21,24,27,35,48,69,88那么所采用的排序方法是。A.快速排序B. 简单项选择择排序C.直接插入排序D. 归并排序20.以下序列是堆的是。A. 75,65,30,15,25,45,20,10B. 75,65,45,10,30,25,20,15C. 75,45,65,30,15,25,20,10D. 75,45,65,10,25,30,20,15三、问答题1.有一棵二叉排序树按先序遍历得到的序列为:(12,5,2,8,6,10,16,15,18,20) 。答复
27、以下问题:( 1画出该二叉排序树。 2给出该二叉排序树的中序遍历序列。 3求在等概率下的查找成功和不成功情况下的平均查找长度。答: 1 先序遍历得到的序列为:(12,5,2,8,6,10,16,15,18,20) ,中序序列是一个有序序列,所以为:(2,5,6,8,10,12,15,16,18,20) ,由先序序列和中序序列可以构造出对应的二叉树,如下列图。( 2中序遍历序列为: 2,5,6,8,10,12,15,16,18,20。( 3 ASL 成功 =(1 ×1+2×2+4×3+3×4)/10=29/10 。ASL 不成功 =(5 ×3+6
28、 ×4)/11=39/11 。1251628151861020专业资料整理WORD格式第10页共12页专业资料整理WORD格式2. 有人提出这样的一种从图 G 中顶点 u 开场构造最小生成树的方法:假设 G=(V , E)是一个具有 n 个顶点的带权连通无向图, T=(U , TE) 是 G 的最小生成树,其中 U 是 T 的顶点集, TE 是 T 的边集,那么由 G 构造从起始顶点 u 出发的最小生成树 T 的步骤如下:( 1初始化 U=u 。以 u 到其他顶点的所有边为候选边。( 2重复以下步骤 n- 1 次,使得其他 n- 1 个顶点被参加到 U 中。从候选边中挑选权值最小的边
29、参加到TE ,设该边在V- U 中的顶点是v,将 v 参加 U 中。考察顶点v,将 v与 V - U 顶点集中的所有边作为新的候选边。假设此方法求得的 T 是最小生成树,请予以证明。假设不能求得最小边,请举出反例。答:此方法不能求得最小生成树。例如,对于如图a所示的带权连通无向图,按照上述方法从顶点0开场求得的结果为 b所示的树,显然它不是最小生成树,正确的最小生成树如图c所示。在有些情况下,上述方法无法求得结果,例如对于如图d所示的带权连通无向图,从顶点0 出发,找到顶点 1边0,1,从顶点 1 出发, 找到顶点3边 1,3,再从顶点 3 出发,找到顶点0边 3,0,这样构成回路,就不能求得
30、最小生成树了。1021014313325352 a b 1001214313332452 c d求最小生成树的反例图3. 如果对含有nn>1 个元素的线性表的运算只有4 种:删除第一个元素;删除最后一个元素;在第一个元素前面插入新元素;在最后一个元素的后面插入新元素,那么最好使用以下哪种存储构造,并简要说明理由。 1只有尾结点指针没有头结点指针的循环单链表2只有尾结点指针没有头结点指针的非循环双链表 3只有头结点指针没有尾结点指针的循环双链表4既有头结点指针也有尾结点指针的循环单链表答:此题答案为3,因为实现上述4 种运算的时间复杂度均为O(1) 。4. 一棵度为 4 的树中,其度为 0、 1、 2、3 的结点数分别为 14、 4、 3、 2,求该树的结点总数 n 和度为 4 的结点个数,并给出推导过程。答:结点总数 n=n0+n1+n2+n3+n4 ,即 n=23+n4 ,又有:度之和 =n-1=0×n0+1×n1+2×n2 +3×n3+4×n4,即 n=17+4n4 ,综合两式得: n4=2, n=25。所以,该树的结点总数为 25,度为 4 的结点个数为 2。四、算法设计题1. 假设二叉树b 采用二叉链存储构造,设计一个算法voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论