北大2015年秋季学期《数据结构》课程作业.doc

上传人:11****ws 文档编号:3046492 上传时间:2019-05-18 格式:DOC 页数:11 大小:135.09KB
下载 相关 举报
北大2015年秋季学期《数据结构》课程作业.doc_第1页
第1页 / 共11页
北大2015年秋季学期《数据结构》课程作业.doc_第2页
第2页 / 共11页
北大2015年秋季学期《数据结构》课程作业.doc_第3页
第3页 / 共11页
北大2015年秋季学期《数据结构》课程作业.doc_第4页
第4页 / 共11页
北大2015年秋季学期《数据结构》课程作业.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、第页 共 8 页2015 年秋季学期数据结构课程作业一. 单选题,每空有一个正确选择,请将正确的选择填在题号前边。 (每空 1 分,共 30 分)1.鼓励独立完成作业,严惩抄袭!数据的逻辑结构被形式地定义为 B=(K,R),其中 K是 _C_的有限集合,R 是 K 上的_H_的有限集合。 (第一章)a 存储 b 数据操作 c 数据元素 d 操作e 逻辑结构 f 映象 g 算法 h 关系2.以下关于算法的说法不正确的是_B _。 (第一章)a 一个算法应包含有限个步骤b 算法越简单越好c 算法中的所有操作都可以通过已经实现的基本操作运算有限次实现之d 算法中的每个步骤都能在有限时间内完成3设某数

2、据结构的二元组形式表示为 A=(D,R),D=01,02,03,04,05,06,07,08,09,R=r,r=,则数据结构 A 是_B_。 (第一章)a 线性结构 b 树型结构 c 物理结构 d 图型结构4.下面程序段的时间复杂度为_C_(第一章)int sum=0;for(i=0; inext=NULL c L-prior=L d L-prior=NULL9.设广义表 L=(a,b,c) ),则 L 的长度与深度分别为_D_。 (第三章)a 1 和 1 b 1 和 3 c 2 和 3 d 1 和 210. 若栈采用链式存储结构,则下面的说法中正确的是_A_(第四章)a.不需要判断栈满但需要

3、判断栈是否为空b.需要判断栈是否栈空与栈满c.需要判断栈满但不需要判断栈空d.栈满栈空都不需要判断11. 在一个链栈中,已知 s 为栈顶指针(直接指向栈顶元素结点,无头结点) ,t 为栈底指针,直接指向栈底元素,则插入 r 结点的操作为_B_。 (第四章)a t-next=r;t=r; b r-next=s;s=r;c s-next=r;s=r; d r-next=t;12.一个栈的输入序列为 1,2,3,4,5,6 下面哪一个序列不可能是这个栈的输出序列_B_(第四章)a. 1, 2, 3, 4, 5, 6b. 3, 2, 6, 4, 5, 1c. 2, 4, 6, 5, 3, 1d. 6,

4、 5, 4, 3, 2, 113. 循环队列用数组 A0.m-1存放其元素值,已知其头尾指针分别是 front 和rear,则当前队列中的元素个数是_A_。 (第四章)a (rear-front+m)%m b rear-front+1 c rear-front-1 d rear-front14.栈和队列的共同特点是_A_。 (第四章)第页 共 8 页a.只允许在端点处插入和删除元素 b.都是先进后出 c.都是先进先出 d.没有共同点 15.中缀表达式(A+B)*D+E/(F+A*D)+C 的后缀形式是_D_(第四章)aAB+D*E/FA+*DC+ bABD*+EFAD*+/C+cABDEFAD

5、C+*+/+*+ dAB+D*EFAD*+/+C+16.如下图所示的 4 棵二叉树,_C_不是完全二叉树。 (第五章)17. 设某棵二叉树中有 2000 个结点,则该二叉树的最小高度为_C_。 (第五章)a 9 b 10 c 11 d 1218. 深度为 6(根的层次为 1)的二叉树至多有_B_结点(第五章)a.64 b.63 c.31 d.3219.二叉树的第 k 层的结点数最多为_D_。 (第五章)a. 2k-1 b. 2K+1 c. 2K-1 d. 2k-120.如果一棵二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是_B_。 (第五章)a 空或只有一个结点 b 高度等

6、于其结点数c 任一结点无右孩子 d 任一结点无左孩子21. 树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。结论_A_是正确的。 (第五章)a.树的先根遍历序列与其对应的二叉树的先序遍历序列相同 b.树的后根遍历序列与其对应的二叉树的先序遍历序列相同 c.树的先根遍历序列与其对应的二叉树的中序遍历序列相同 d.以上都不对22.根据使用频率为 5 个字符设计的哈夫曼编码不可能是_B_。 (第六章)a 111,110,10,01,00 b 000,001,010,011,01c 001,000,01,11,10 d 100,111,110,101,0

7、第页 共 8 页23. 下列数据结构中,不属于二叉树的是_D_(第六章)a. 堆 b. 哈夫曼树 c. 线索二叉树 d. B 树24.采用邻接表存储的图的广度优先遍历算法类似于二叉树的_D_。 (第七章)a 先序遍历 b 中序遍历c 后序遍历 d 层次遍历25.对用邻接表表示的图进行深度优先遍历时,通常是借助_A_来实现算法。(第七章)a 栈 b 队列 c 树 d 图26. 在一个图中,所有顶点的度数之和等于图的边数的_C_倍。 (第七章)a. 1/2 b. 1 c. 2 d. 427.对线性表进行二分查找,要求线性表必须_B_。 (第九章)a 以顺序方式存储 b 以顺序方式存储,且结点按关键

8、字有序排序c 以链接方式存储 d 结点按关键字有序排序,存储方式无所谓28.排序方法中,每次从未排序序列中查找值最小的元素放到已排序序列(初始时为空)的末尾,该排序方法称为_C_。 (第十章)a 希尔排序 b 冒泡排序c 选择排序 d 插入排序29.下列四种排序中,_C_的空间复杂度最大。 (第十章)a. 插入排序 b. 冒泡排序 c. 归并排序 d. 快速排序二. 填空题,请将正确答案填在_上。 (每空 1 分,共 30 分) 1.数据结构分为_逻辑结构_和物理结构两种结构。 (第一章)2.线性结构中元素之间存在一对一关系,而树形结构中元素之间存在_一对多_关系,图形结构中元素之间存在多对多

9、关系。 (第一章)3.一个算法的最基本的原操作执行次数为(3n 2+2nlog2n+4n-7)/(5n),则该算法的时间复杂度为_ O(n)_。 (第一章)4.链式存储结构用一组地址任意的存储单元依次存放数据元素,数据元素之间的逻辑关系通过_指针_间接地反映。 (第二章)5.向一个长度为 n 的顺序表中的第 i 个元素(1in)之前插入一个元素时,需向后移动_N-i+1_个元素。 (第二章)6.当线性表的元素总数不固定,且很少随机存取表中元素,但插入和删除操作较多第页 共 8 页时,应采用_链式_存储结构。 (第二章)7.在单链表中,要删除某一指定的结点,必须找到该结点的_前驱_结点。(第二章

10、)8.删除单链表中结点 p 所指向的下一个结点(假设不为空)时,应执行 q=_ P-next _,p-next=_ q-next _和_ delete q_的操作。 (第二章)9.设广义表 L=(a, (b,c,d) ) ),则 L 的长度为_1_,深度为_3_。 (第三章)10.队列的特点是先进先出,与之对应,栈的特点是_后进先出_。 (第四章)11.在栈顶进行插入删除一个元素的时间复杂度是_ O(1)_。 (第四章)12.后缀算式 9 2 3 +- 10 2 / -的值为_-1_。 (第四章)13.一个环形队列中共有 MaxSize 个单元,那么队满时共有_ MaxSize 1_个元素。

11、(第四章)14.设栈 S 和队列 Q 的初始状态为空,元素 a1,a2,a3,a4,a5,a6,a7,a8 依次通过栈S,一个元素出栈后立即进入队列 Q,若 8 个元素出队列的次序是a3,a5,a4,a8,a7,a6,a2,a1,则栈 S 的容量至少应该是_5_。 (第四章)15.一棵高度为 6 的完全二叉树至少有_32_个结点,最多有_63_个结点。(第五章)16.如果一个完全二叉树的叶子结点个数为 n,则这棵二叉树的总结点数为_2n 或2n-1_。 (第五章)17.设某棵二叉树的中序遍历序列为 ABCD,后序遍历序列为 BADC,则其前序遍历序列为_CABD _。 (第五章)18.已知一个

12、有向图的邻接矩阵表示,计算第 i 个结点的度的方法是_求矩形第 i 行非零元素之和_。 (第七章)1、 19.一个图的三种存储方法中,_邻接矩阵, 邻接表和边集数组_表示法是不唯一的。 (第七章)2、 20.一个有 n 个顶点的无向连通图最少有_n-1 _条边,最多_ n(n-1)/2_条边。(第七章)21.设一个连通图 G 中有 n 个顶点 e 条边,则其最小生成树上有_n-1_条边。(第八章)22.外排序是指在排序前后,数据在_外存_上,排序时数据调入内存进行的排第页 共 8 页序方法。 (第十章)23.在 选 择 排 序 、 冒 泡 排 序 、 归 并 排 序 中 , _选择_排序是不稳

13、定的。(第十章)三. 简答题。 (每小题 4 分,共 40 分)1.简述顺序表和链表存储方式的特点。 (第二章)顺序表的优点势可以随机访问数据元素;缺点是大小固定,不利于增减结点(增减操作需要移动元素) 。链表的优点是采用指针方式增减结点,非常方便(只需要改变指针指向,不移动结点) 。其缺点是不能进行随机访问,只能顺序访问;另外,每个结点上增加指针域,造成额外存储空间增大。2.在一个单链表 HL 中删除指针 p 所指结点,应执行如下关键操作:(第二章)if(_)HL = HL-next; elseq = HL;while(_)q = q-next;_;delete p;答案:1、p = HL2

14、、q-next != p3、q-next = p-next; 或 q-next = q-next-next;以下 2 个问题基于下面的环形队列:设环形队列 Q7的当前状态如下,0 1 2 3 4 5 6a1 a2 a3 a03.写出队列 Q 的队空、队满定条件及进队、出队操作的的描述语句;(第四章)空:rear = front满:(rear+1)%MaxSize = front进队操作:rear = (rear+1)%MaxSize; Q(rear)=xfrontrear第页 共 8 页出队操作:front = (front+1)%MaxSize; X=Q(front)4.画出元素 a0,a1

15、,a2 出队,元素 a4,a5,a6,a7 进队后队列 Q 的状态。 (第四章)0 1 2 3 4 5 6a3 a4 a5 a6 a75.写出下图这棵二叉树的前序遍历、中序遍历、后序遍历和层次遍历序列。 (第五章)前序遍历:ABDFCEGH中序遍历:BFDACGEH后序遍历:FDBGHECA层次遍历:ABCDEFGH6.已知一组元素为(30,46,62,27,32,50,13,45),画出按元素排列顺序输入生成的一棵二叉搜索树,并写出在这棵二叉搜索树中查找元素 50 所需的元素比较次数。 (第六章)二叉搜索树如下图,查找 50 所需比较次数为 4.B CF G HD EArearfront第页

16、 共 8 页3027 4662325013457. 给定权值6,7,12,10,30,25,构造相应的哈夫曼树,要求写出构造步骤,并计算该树的带权路径长度。 (第六章)构造的哈夫曼树为:9035 552513 306 7221210带权路径长度为:(30+25)*2 + (6+7+10+12)*3 = 215第页 共 8 页8. 已知一个无向图的邻接表表示为:画出该图的图形表示,并写出在该邻接表存储结构下,以顶点 v4 为出发点进行深度优先遍历的遍历序列。 (第七章)图形如下:以 v4 为出发点的遍历序列为:v4,v3,v5,v2,v1v1v2 v4v5 v39.对如下的图,用 Prim 算法从顶点 5 开始求最小生成树,写出按次序产生的边。采用 Kruscal 算法产生的边次序是哪些?画出最小生成树。 (第八章)第页 共 8 页246513129 15201085467Prim(5,6)(4,6)(1,4)(3,4)(1,2)Kruscal(1,4)(5,6)(3,4)(4,6)(1,2)24651341256710.已知序列(49,38,65,97,76,13,27,49)请用插入排序写出每一趟排序的结果。 (第十章)第一趟:38,49,65,97,76,13,27,49第一趟:38,49,65,97,76,13,27,49

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。