数据结构第二章参考答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题2 填空题 (1)在一个单链表中,已知每个结点包含data和next两个域,q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行(___________)和(___________)操作。 答案:q-next = s; s-next = p; 或 s-next=q-next; q-next = s; (2)表长为n的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为(___________),删除一个元素需要移动元素的平均个数为(___________)。 答案:n/2 (n-1)/2 (3)表长为0的线性表称为(___________)。 答案:空表 (4)动态内存管理是操作系统的基本功能之一,其作用是响应用户程序对内存的(___________)和(___________)请求。 答案:申请 释放 (5)顺序表多采用(___________)实现的,是一种随机存取结构,对表中任意结点存取操作的时间复杂度为(___________)。而查找链表中的结节,需要从头指针起顺着链扫描才能得到,平均时间复杂度为(___________)。因此,若线性表的操作主要是进行查找,很少进行插入或删除操作时,采用(___________)表比较合适。 答案:数组 O(1) O(n) 顺序 (6)在链表某个位置上进行插入和删除操作,只需要修改(___________)即可,而无须移动大量元素,操作的时间复杂度为(___________)。而在顺序表中进行插入和删除操作,往往要移动大量元素,平均移动元素的数目为(___________),平均时间复杂度为(___________)。因此,若对线性表进行频繁的插入和删除操作时,采用(___________)表相对合适。若插入和删除主要发生在表头和表尾,则采用(___________)表更为合适。 答案:指针 O(1) 表长的一半 O(n) 链 循环链 (7)静态链表一般采用(___________)存储的链表结构。 答案:数组 (8)对于32位计算机环境,若单链表中的数据类型为整性,则其存储密度为(___________),而若为双链表,则存储密度为(___________)。若采用顺序表存储数据,则其存储密度为(___________)。 答案:50% 33% 1 (9)向量是最常用的容器,STL中向量使用(___________)实现,因此向量具有(___________)表的所有特点,可以快速随机存取任意元素。 答案:数组 顺序 (10)操作系统在运行之初,有一块很大的连续内存块供用户程序申请,通常称之为内存池或(___________)。 答案:堆 (11)循环链表与单链表的区别仅仅在于其尾结点的链域值不是(___________),而是一个指向(___________)的指针。 答案:NULL(或空指针) 头结点 选择题 (1)线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( )的存储结构。 A. 随机存取 索引存取 B. 顺序存取 随机存取 C. 随机存取 顺序存取 D. 索引存取 散列存取 (2)在双向链表p所指结点之前插入s所指结点的操作是( )。 A. p-left=s; s-right=p; p-left-right =s; s-left=p-left; B. p-right=s; p-right-left=s; s-left=p; s-right=p-right; C. s-right=p; s-left=p-left; p-left=s; p-left-right =s; D. s-right=p; s-left=p-left; p-left-right =s; p-left=s; (3)若链表是利用C++指针来存储结点的地址,结点空间的分配和收回都是由操作符new和delete动态执行的,则称该链表为( )链表 A. 单向 B. 双向 C. 静态 D. 动态 (4)将线性表存储到计算机中可以采用多种不同的方法,按顺序存储方法存储的线性表称为( ),按链式存储方法存储的线性表称为( )。 A. 数组 单链表 B. 顺序表 链表 C. 向量 静态链表 D. 静态链表 动态链表 (5)( )是STL中线性表的链式存储形式,STL标准库中一般采用( )实现。 A. vector 数组 B. list 单链表 C. list 双向循环链表

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档