数据结构与算法 习题与练习答案.pdfVIP

  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文档。上传文档
查看更多
数据结构与算法 习题与练习答案

附录 习题与练习解答 第1 章 习题与练习解答 一、选择题答案 1~7 :B C C B B D C 二、基本知识题答案 1.名词解释答案 数据:一切能够由计算机接受和处理的对象。 数据项:数据的不可分割的最小单位,在有些场合下,数据项又称为字段或域。 数据元素:数据的基本单位,在程序中作为一个整体加以考虑和处理,也称为元素、顶 点或记录。它可以由若干个数据项组成。 数据结构:数据之间的相互关系,即数据的组织形式,它包括数据的逻辑结构、数据的 存储结构和数据的运算三个方面的内容。 数据逻辑结构:数据元素之间的逻辑关系,是从逻辑上描述数据,与数据的存储无关, 独立于计算机。 数据物理结构:数据元素及其关系在计算机存储器内的表示,是数据的逻辑结构用计算 机语言的实现,是依赖于计算机语言的。 算法:对特定问题求解步骤的一种描述。它是一个有穷的规则序列,这些规则决定了解 决某一特定问题的一系列运算。由此问题相关的一定输入,计算机依照这些规则进行计算和 处理,经过有限的计算步骤后能得到一定的输出。 算法的时间复杂性:是该算法的时间耗费,它是该算法所求解问题规模 n 的函数。当 n 趋向无穷大时,我们把时间复杂性 T(n) 的数量级称为算法的渐进时间复杂性。 2 .答:对算法进行分析的目的有两个。第 1 个目的是可以从解决同一问题的不同算法中 区分相对优劣,选出较为适用的一种。第 2 个目的是有助于设计人员考虑对现有算法进行改 进或设计出新的算法。 3 .答:算法的最坏时间复杂性是研究各种输入中运算最慢的一种情况下的运算时间;平 均时间复杂性是研究同样的 n 值时各种可能的输入,取它们运算时间的平均值。 4 .答:评价好的算法有4 个方面。一是算法的正确性;二是算法的易读性;三是算法的 健壮性;四是算法的时空效率(运行) 。 5 .答:对算法A1 和 A2 的时间复杂度 T1 和 T2 取对数,得 nlog2 和 2logn 。显然,算法 A2 好于算法 A1 。 三、答案 1.答:该程序段的时间复杂性为 T(n)=O(n) 。 2 .答:该程序段的时间复杂性 T(n)=O(log10n) 。 附录 习题与练习解答 2 3 .答:该程序段的时间复杂性 T(n)=O(n ) 。 4 .答:该程序段的时间复杂性为 T(n)=O(n) 。 第2 章 习题与练习解答 一、选择题答案 1~5:A B B B C 6~10:A D C B B 二、基本知识题答案 1.答:链式存储结构克服了顺序存储结构的三个弱点。首先,插入、删除不需移动元素, 只需修改指针,时间复杂度为 O(1);其次,不需要预先分配空间,可根据需要动态申请空间; 其三,表容量只受可用内存空间的限制。其缺点是因为指针增加了空间开销,当空间不允许 时,就不能克服顺序存储的缺点。 2 .答:采用链式存储结构,它根据实际需要申请内存空间,而当不需要时又可将不用节 点空间返还给系统。在链式存储结构中插入和删除操作不需要移动元素。 3 .答:顺序表用节点物理位置的相邻性来反映节点间的逻辑关系,其优点:节省存储、 随机存取,当表长变化较小、主要操作是进行查找时,宜采用顺序表。链表用附加的指针来 反映节点间的逻辑关系,插入和删除操作相对比较方便,当表长变化较大,主要操作是进行 插入和删除时,宜采用链表。 4 .答:双链表比单链表多增加了一个指针域以指向节点的直接前趋,它是一种对称结构, 因此在已知某个节点之前或之后插入一个新节点、删除该节点或其直接后继都同样方便,操 作的时间复杂度为 O(1);而单链表是单向结构,对于找一个节点的直接前趋的操作要从开始 节点找起,其时间复杂度为 O(n) 。 5 .答:由于对表的操作常常在表的两端进行,所以对单循环链表,当知道尾指针 rear 后,其另一端的头指针是 rear-next-next(表中带头节

文档评论(0)

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

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

1亿VIP精品文档

相关文档