ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:72.33KB ,
资源ID:4599904      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4599904.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北大秋季学期《数据结构》课程作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、北大秋季学期数据结构课程作业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设某数据结构的二元组形式表示为A=(

2、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; im;i+)for(j=i;jnext=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.不需要判断栈满但需要判断栈是否为空b.需要判断栈是否

3、栈空与栈满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, 5, 4, 3, 2, 113. 循环队列用数

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

5、树,_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 高度等于其结点数 c 任一结点无右孩子 d 任一结点无左孩子21. 树的基本遍历策略分为先根遍历和后

6、根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。结论_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,023. 下列数据结构中,不属于二叉树的是_D_(第六章)a. 堆 b. 哈夫曼树 c. 线索二叉树

7、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 以顺序方式存储,且结点按关键字有序排序 c 以链接方式存储 d 结点按关键字有序排序,存储方式无所谓28.排序方法中,每次从未排序序列中查找值最小的元素

8、放到已排序序列(初始时为空)的末尾,该排序方法称为_C_。(第十章)a 希尔排序 b 冒泡排序c选择排序 d 插入排序29.下列四种排序中,_C_的空间复杂度最大。(第十章) a. 插入排序 b. 冒泡排序 c. 归并排序 d. 快速排序二. 填空题,请将正确答案填在_上。(每空1分,共30分) 1.数据结构分为_逻辑结构_和物理结构两种结构。(第一章)2.线性结构中元素之间存在一对一关系,而树形结构中元素之间存在_一对多_关系,图形结构中元素之间存在多对多关系。(第一章)3.一个算法的最基本的原操作执行次数为(3n2+2nlog2n+4n-7)/(5n),则该算法的时间复杂度为_ O(n)_

9、。(第一章)4.链式存储结构用一组地址任意的存储单元依次存放数据元素,数据元素之间的逻辑关系通过_指针_间接地反映。(第二章)5.向一个长度为n的顺序表中的第i个元素(1in)之前插入一个元素时,需向后移动_N-i+1_个元素。(第二章)6.当线性表的元素总数不固定,且很少随机存取表中元素,但插入和删除操作较多时,应采用_链式_存储结构。(第二章)7.在单链表中,要删除某一指定的结点,必须找到该结点的_前驱_结点。(第二章)8.删除单链表中结点p所指向的下一个结点(假设不为空)时,应执行q=_ P-next _,p-next=_ q-next _和_ delete q_的操作。(第二章)9.设

10、广义表L=(a,(b,c,d),则L的长度为_1_,深度为_3_。(第三章)10.队列的特点是先进先出,与之对应,栈的特点是_后进先出_。(第四章)11.在栈顶进行插入删除一个元素的时间复杂度是_ O(1)_。(第四章)12.后缀算式9 2 3 +- 10 2 / -的值为_-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,则

11、栈S的容量至少应该是_5_。(第四章)15.一棵高度为6的完全二叉树至少有_32_个结点,最多有_63_个结点。(第五章)16.如果一个完全二叉树的叶子结点个数为n,则这棵二叉树的总结点数为_2n或2n-1_。(第五章)17.设某棵二叉树的中序遍历序列为ABCD,后序遍历序列为BADC,则其前序遍历序列为_CABD_。(第五章)18.已知一个有向图的邻接矩阵表示,计算第i个结点的度的方法是_求矩形第i行非零元素之和_。(第七章)1、 19.一个图的三种存储方法中,_邻接矩阵, 邻接表和边集数组_表示法是不唯一的。(第七章)2、 20.一个有n个顶点的无向连通图最少有_n-1 _条边,最多_ n

12、(n-1)/2_条边。(第七章)21.设一个连通图G中有n个顶点e条边,则其最小生成树上有_n-1_条边。(第八章)22.外排序是指在排序前后,数据在_外存_上,排序时数据调入内存进行的排序方法。(第十章)23.在选择排序、冒泡排序、归并排序中,_选择_排序是不稳定的。(第十章)三. 简答题。(每小题4分,共40分)1.简述顺序表和链表存储方式的特点。(第二章)顺序表的优点势可以随机访问数据元素;缺点是大小固定,不利于增减结点(增减操作需要移动元素)。链表的优点是采用指针方式增减结点,非常方便(只需要改变指针指向,不移动结点)。其缺点是不能进行随机访问,只能顺序访问;另外,每个结点上增加指针域

13、,造成额外存储空间增大。2.在一个单链表HL中删除指针p所指结点,应执行如下关键操作:(第二章)if(_) HL = HL-next; 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的当前状态如下,0123456a1a2a3a0frontrear3.写出队列Q的队空、队满定条件及进队、出队操作的的描述语句;(第四章)空:rear = front满:(rear+1)%Max

14、Size = front进队操作:rear = (rear+1)%MaxSize; Q(rear)=x出队操作:front = (front+1)%MaxSize; X=Q(front)4.画出元素a0,a1,a2出队,元素a4,a5,a6,a7进队后队列Q的状态。(第四章)0123456a3a4a5a6a7frontrear5.写出下图这棵二叉树的前序遍历、中序遍历、后序遍历和层次遍历序列。(第五章)前序遍历:ABDFCEGH 中序遍历:BFDACGEH 后序遍历:FDBGHECA 层次遍历:ABCDEFGH6.已知一组元素为(30,46,62,27,32,50,13,45),画出按元素排列

15、顺序输入生成的一棵二叉搜索树,并写出在这棵二叉搜索树中查找元素50所需的元素比较次数。(第六章)二叉搜索树如下图,查找50所需比较次数为4.7. 给定权值6,7,12,10,30,25,构造相应的哈夫曼树,要求写出构造步骤,并计算该树的带权路径长度。(第六章)构造的哈夫曼树为:带权路径长度为:(30+25)*2 + (6+7+10+12)*3 = 2158. 已知一个无向图的邻接表表示为:画出该图的图形表示,并写出在该邻接表存储结构下,以顶点v4为出发点进行深度优先遍历的遍历序列。(第七章)图形如下:以v4为出发点的遍历序列为:v4,v3,v5,v2,v19.对如下的图,用Prim算法从顶点5

16、开始求最小生成树,写出按次序产生的边。采用 Kruscal算法产生的边次序是哪些?画出最小生成树。(第八章)Prim(5,6)(4,6)(1,4)(3,4)(1,2)Kruscal(1,4)(5,6)(3,4)(4,6)(1,2)10.已知序列(49,38,65,97,76,13,27,49)请用插入排序写出每一趟排序的结果。(第十章)第一趟:38,49,65,97,76,13,27,49第一趟:38,49,65,97,76,13,27,49第一趟:38,49,65,97,76,13,27,49第一趟:38,49,65,76,97,13,27,49第一趟:13,38,49,65, 76,97,27,49第一趟:13,27,38,49,65, 76,97,49第一趟:13,27,38,49,49,65, 76,97

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1