- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构03-04期末考试B答案
四川大学期末考试题解答
(2003-2004学年第二学期)
课程名: 数据结构(B) 计算机科学与技术专业适用 人数:
学院: 专业: 教师姓名:
姓名: 学号: 成绩:
一、 设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,……,如此反复直到所有的人全部出局为止。下面要解决的Josephus问题是:对于任意给定的n, s和m,求出这n个人的出局序列。请以n = 9, s = 1, m = 5为例,人工模拟Josephus的求解过程以求得问题的解。(9分)
【解答】
出局人的顺序为5, 1, 7, 4, 3, 6, 9, 2, 8。
二、 列出右图所示二叉树的叶结点、分支结点和每个结点的层次。(9分)
【解答】
二叉树的叶结点有⑥、⑧、⑨。分支结点有①、②、③、④、⑤、⑦。 结点①的层次为0;结点②、③的层次为1;结点④、⑤、⑥的层次为2;结点⑦、⑧的层次为3;结点⑨的层次为4。
三.线性表可用顺序表或链表存储。试问:(9分)
(1) 两种存储表示各有哪些主要优缺点?(3分)
(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变、在此情况下,应选用哪种存储表示?为什么?(3分)
(3) 若表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?(3分)
【解答】
(1) 顺序存储表示是将数据元素存放于一个连续的存储空间中,实现顺序存取或(按下标)直接存取。它的存储效率高,存取速度快。但它的空间大小一经定义,在程序整个运行期间不会发生改变,因此,不易扩充。同时,由于在插入或删除时,为保持原有次序,平均需要移动一半(或近一半)元素,修改效率不高。
链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,且只要存储器中还有空间,就不会产生存储溢出的问题。同时在插入和删除时不需要保持数据元素原来的物理顺序,只需要保持原来的逻辑顺序,因此不必移动数据,只需修改它们的链接指针,修改效率较高。但存取表中的数据元素时,只能循链顺序访问,因此存取效率不高。
(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变、在此情况下,应选用链接存储表示。
如果采用顺序存储表示,必须在一个连续的可用空间中为这n个表分配空间。初始时因不知道哪个表增长得快,必须平均分配空间。在程序运行过程中,有的表占用的空间增长得快,有的表占用的空间增长得慢;有的表很快就用完了分配给它的空间,有的表才用了少量的空间,在进行元素的插入时就必须成片地移动其他的表的空间,以空出位置进行插入;在元素删除时,为填补空白,也可能移动许多元素。这个处理过程极其繁琐和低效。
如果采用链接存储表示,一个表的存储空间可以连续,可以不连续。表的增长通过动态存储分配解决,只要存储器未满,就不会有表溢出的问题;表的收缩可以通过动态存储释放实现,释放的空间还可以在以后动态分配给其他的存储申请要求,非常灵活方便。对于n个表(包括表的总数可能变化)共存的情形,处理十分简便和快捷。所以选用链接存储表示较好。
(3) 应采用顺序存储表示。因为顺序存储表示的存取速度快,但修改效率低。若表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取表中的元素,这时采用顺序存储表示较好。
四、 设有一个双端队列,元素进入该队列的顺序是1, 2, 3, 4。试分别求出满足下列条件的输出序列。(9分)
(1) 能由输入受限的双端队列得到,但不能由输出受限的双端队列得到的输出序列;(3分)
(2) 能由输出受限的双端队列得到,但不能由输入受限的双端队列得到的输出序列;(3分)
(3) 既不能由输入受限的双端队列得到,又不能由输出受限的双端队列得到的输出序列。(3分)
【解答】
允许在一端进行插入和删除,但在另一端只允许插入的双端队列叫做输出受限的双端队列,允许在一端进行插入和删除,但在另一端只允许删除的双端队列叫做输入受限的双端队列。
end1 end2
end1 end2
输出受限的双端队列
end1 end2
输入受限的双端队列
4 1 3 2 4 2 3 1
输人受限双端队列不能得到的输出序列有:
4 2 1 3 4 2 3 1
您可能关注的文档
最近下载
- 毕业论文论唐代山水诗审美意境的流变.doc
- JGJ-T277-2012:红外热像法检测建筑外墙饰面粘结质量技术规程.pdf VIP
- 煤中水分对火电厂燃煤发热量的影响探析.doc
- 2024年计算机二级MS Office考试题库500题(含答案).docx
- 第一讲日本动漫赏析课件.ppt
- JTGT 3610-2019《公路工程路基施工技术规范》宣贯课件.pptx
- 《你好中国》中英文版字幕(全集).pdf
- 蓝色炫酷未来科技元宇宙人工智能项目汇报通用PPT模板工作总结.pptx
- 现代企业制度的建立与会计监督-会计学毕业论文-本科毕业论文-毕业论文.docx
- 2019春八年级道德与法治下册第四单元崇尚法治精神第七课尊重自由平等第一框自由平等的真谛课件新人教版.pptx
文档评论(0)