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

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

《北大2015年秋季学期《数据结构》课程作业》由会员分享,可在线阅读,更多相关《北大2015年秋季学期《数据结构》课程作业(11页珍藏版)》请在金锄头文库上搜索。

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

2、的基本操作运算有限次实现之d 算法中的每个步骤都能在有限时间内完成3设某数据结构的二元组形式表示为 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 和 1b 1 和 3c 2 和 3d 1 和 210. 若栈采用链式存储结构,

3、则下面的说法中正确的是_A_(第四章)a.不需要判断栈满但需要判断栈是否为空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、4, 5, 1c. 2, 4, 6, 5, 3, 1d. 6, 5, 4, 3, 2, 113. 循环队列用数组 A0m-1存放其元素值,已知其头尾指针分别是 front 和rear,则当前队列中的元素个数是_A_。 (第四章)a (rear-front+m)%mb rear-front+1 c rear-front-1d rear-front14.栈和队列的共同特点是_A_。 (第四章)第页 共 8 页a.只允许在端点处插入和删除元素 b.都是先进后出 c.都是先进先出 d.没有共同点 15.中缀表达式(A+B)*D+E/(F+A*D)+C 的后缀形式是_D_(第四章)aAB+D*E/FA+

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

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

7、 b 000,001,010,011,01c 001,000,01,11,10 d 100,111,110,101,0第页 共 8 页23. 下列数据结构中,不属于二叉树的是_D_(第六章)a. 堆b. 哈夫曼树c. 线索二叉树d. B 树24.采用邻接表存储的图的广度优先遍历算法类似于二叉树的_D_。 (第七章)a 先序遍历b 中序遍历c 后序遍历d 层次遍历25.对用邻接表表示的图进行深度优先遍历时,通常是借助_A_来实现算法。(第七章)a 栈 b 队列 c 树 d 图26. 在一个图中,所有顶点的度数之和等于图的边数的_C_倍。 (第七章)a. 1/2b. 1c. 2d. 427.对线性

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

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

10、页时,应采用_链式_存储结构。 (第二章)7.在单链表中,要删除某一指定的结点,必须找到该结点的_前驱_结点。(第二章)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 / -的值为_

11、-1_。 (第四章)13.一个环形队列中共有 MaxSize 个单元,那么队满时共有_ MaxSize 1_个元素。 (第四章)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.设某棵二

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

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

14、xt; else q = HL; while(_) q = q-next; _; delete p;答案: 1、p = HL 2、q-next != p 3、q-next = p-next; 或 q-next = q-next-next;以下 2 个问题基于下面的环形队列:设环形队列 Q7的当前状态如下,0123456 a1a2a3a03.写出队列 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,a2 出队,元素 a4,a5,a6,a7 进队后队列 Q 的状态。 (第四章)0123456 a3a4a5a6a75.写出下图这棵二叉树的前序遍历、中序遍历

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号