- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
數据结构(C语言清华)习题答案
习题1参考答案
一、单项选择题
1. A 2. C 3. D 4. B 5. C、A 6. C、B 7. B 8. D 9. B 10. B
二、填空题
1. 线性结构,非线性结构
2. 集合,线性,树,图
3. 一对一,一对多或多对多
4. 时间,空间
5. 前趋,一,后继,多
6. 有多个
7. 一对一,一对多,多对多
8. O()9. O()10. O()
11. O(logn)
12. 程序对于精心设计的典型合法数据输入能得出符合要求的结果。
13. 事后统计,事前估计
三、算法设计题
1. O() 2. O() 3. O(n) 4. O(n) 5. O(n)
习题2参考答案
一、单项选择题
1.A 2.A 3.D 4.C 5.D 6.A 7.B 8.B 9.C 10.A 11.D 12.B 13.C 14.B 15.C 16.C 17.B 18.D 19.C 20.A
二、填空题
1.线性 2.n-i+1 3.相邻 4.前移,前,后
5.物理存储位置,链域的指针值 6.前趋,后继7.顺序,链接
8.一定,不一定9.线性,任何,栈顶,队尾,队头
10.单链表,双链表,非循环链表,循环链表
11.使空表和非空表统一;算法处理一致12.O(1),O(n)
13.栈满,栈空,m,栈底,两个栈的栈顶在栈空间的某一位置相遇
14.2、3;15.O(1)
三、简答题
1.头指针是指向链表中第一个结点(即表头结点)的指针;在表头结点之前附设的结点称为头结点;表头结点为链表中存储线性表中第一个数据元素的结点。若链表中附设头结点,则不管线性表是否为空表,头指针均不为空,否则表示空表的链表的头指针为空。
2.线性表具有两种存储结构即顺序存储结构和链接存储结构。线性表的顺序存储结构可以直接存取数据元素,方便灵活、效率高,但插入、删除操作时将会引起元素的大量移动,因而降低效率:而在链接存储结构中内存采用动态分配,利用率高,但需增设指示结点之间关系的指针域,存取数据元素不如顺序存储方便,但结点的插入、删除操作较简单。
3.应选用链接存储结构,因为链式存储结构是用一组任意的存储单元依次存储线性表中的各元素,这里存储单元可以是连续的,也可以是不连续的:这种存储结构对于元素的删除或插入运算是不需要移动元素的,只需修改指针即可,所以很容易实现表的容量的扩充。
4.应选用顺序存储结构,因为每个数据元素的存储位置和线性表的起始位置相差一个和数据元素在线性表中的序号成正比的常数。因此,只要确定了其起始位置,线性表中的任一个数据元素都可随机存取,因此,线性表的顺序存储结构是一种随机存取的存储结构,而链表则是一种顺序存取的存储结构。
5.设尾指针比设头指针好。尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear-next-next 和 rear, 查找时间都是O(1)。若用头指针来表示该链表,则查找终端结点的时间为O(n)。
6.共有14种可能的出栈序列,即为:
ABCD, ABDC,ACBD, ACDB,BACD,ADCB,BADC,BCAD, BCDA,BDCA,CBAD, CBDA,CDBA, DCBA
7.在队列的顺序存储结构中,设队头指针为front,队尾指针为rear,队列的容量(即存储的空间大小)为maxnum。当有元素要加入队列(即入队)时,若rear=maxnum,则会发生队列的上溢现象,此时就不能将该元素加入队列。对于队列,还有一种“假溢出”现象,队列中尚余有足够的空间,但元素却不能入队,一般是由于队列的存储结构或操作方式的选择不当所致,可以用循环队列解决。
一般地,要解决队列的上溢现象可有以下几种方法:
(1)可建立一个足够大的存储空间以避免溢出,但这样做往往会造成空间使用率低,浪费存储空间。
(2)要避免出现“假溢出”现象可用以下方法解决:
第一种:采用移动元素的方法。每当有一个新元素入队,就将队列中已有的元素向队头移动一个位置,假定空余空间足够。
第二种:每当删去一个队头元素,则可依次移动队列中的元素总是使front指针指向队列中的第一个位置。
第三种:采用循环队列方式。将队头、队尾看作是一个首尾相接的循环队列,即用循环数组实现,此时队首仍在队尾之前,作插入和删除运算时仍遵循“先进先出”的原则。
8.该算法的功能是:将开始结点摘下链接到终端结点之后成为新的终端结点,而原来的第二个结点成为新的开始结点,返回新链表的
您可能关注的文档
最近下载
- LBT 339-2025 北方地区 绿色食品设施莴笋生产操作规程.pdf VIP
- 基础护理学病情观察及危重患者的抢救和护理.pptx VIP
- 八年级下册道德与法治电子课本(附2023年教材变动内容).doc VIP
- 旅游概论-旅游者.pptx VIP
- 亚龙156A电气安装-电气培训PPT(项目二).ppt VIP
- 【公开版】《2023年美年健康体检大数据蓝皮书》.pdf VIP
- 《枫桥夜泊》的教学设计一等奖 .docx VIP
- 大类资产配置新框架,比特币和黄金:新旧时代的“代货币”.pdf VIP
- 2025年冰雪旅游行业投资回报分析报告.docx
- 2025年中国国家重点实验室建设行业供需策略分析及市场供需预测报告.docx
文档评论(0)