数据结构简明教程-练习题答案(李春葆版).docxVIP

数据结构简明教程-练习题答案(李春葆版).docx

  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.练习题1参考答案

1.单项选择题

(1)D

(6)B

(2)C

(7)C

(3)C

(8)A

(4)A

(9)C

(5)C

(10)B

2.填空题

(1)①逻辑结构②存储结构③运算(不限制顺序)

(2)①线性结构②非线性结构(不限制顺序)

(3)①数据元素②关系

(4)①没有②没有

(5)①前驱②一③后继④任意多个

(6)任意多个

(7)①顺序②链式③索引④哈希(不限制顺序)

(8)①时间②空间(不限制顺序)

(9)问题规模(通常用n表示)。

(10)辅助或临时空间

3.简答题

(1)答:运算描述是指逻辑结构施加的操作,而运算实现是指一个完成该运算功能的算法。它们的相同点是,运算描述和运算实现都能完成对数据的“处理”或某种特定的操作。不同点是,运算描述只是描述处理功能,不包括处理步骤和方法,而运算实现的核

心则是处理步骤。

(2)答:T?(n)=O(nlog?n),T?(n)=O(n1og?3),T?(n)=O(n2),T?(n)=O(nlog?n)。

(3)答:j=0,第1次循环:j=1,s=10。第2次循环:j=2,s=30。第3次循环:

j=3,s=60。第4次循环:j=4,s=100。while条件不再满足。所以,其中循环语句的执行

次数为4。

(4)答:语句s++的执行次数

(5)答:其中x++语句为基本运算语句,

=O(n2)。

(6)答:由于内循环j的取值范围,所以i≤n/2,则

,该程序段的时间复杂度为O(n2)。

3

2.练习题2参考答案

1.单项选择题

(1)A(2)C(3)A(4)B(5)C

(6)D(7)C(8)B(9)A(10)C

(11)B(12)A(13)C

(14)D(15)D

(16)D(17)A(18)C

(19)A(20)D

2.填空题

(1)L.length=0

(2)O(1)

(3)O(n)

(4)n-i

(5)①物理存储位置②指针域

(6)①前驱②O(n)

(7)q=p-next;p-next=q-next;free(q);

(8)s-next=p-next;p-next=s;

(9)O(1)

(10)L-next==L

3.简答题

(1)答:顺序存储结构中,逻辑上相邻元素的存储空间也是相邻的,无需额外空间表示逻辑关系,所以存储密度大,同时具有随机存取特性。缺点是插入或删除元素时平均

需要移动一半的元素,同时顺序存储结构的初始分配空间大小难以事先确定。

链式存储结构中,逻辑上相邻元素的存储空间不一定是相邻的,需要通过指针域需表示逻辑关系,所以存储密度较小,同时不具有随机存取特性。优点是插入或删除时不需要结点的移动,仅仅修改相关指针域,由于每个结点都是动态分配的,所以空间分配适应性

好。

顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。若线性表的长度变化不大,且其主要操作是查找,则采用顺序表;若线性表的长度变化较大,

且其主要操作是插入、删除操作,则采用链表。

(2)答:对于表长为n的顺序表,在等概率的情况下,插入一个元素所需要移动元素

的平均次数为n/2,删除一个元素所需要移动元素的平均次数为(n-1)/2。

(3)答:在链表中设置头结点后,不管链表是否为空表,头结点指针均不空;另外

使得链表的操作(如插入和删除)在各种情况下得到统一,从而简化了算法的实现过程。

(4)答:对于双链表,在两个结点之间插入一个新结点时,需修改前驱结点的next

域、后继结点的prior域和新插入结点的next、prior域。所以共修改4个指针。

对于单链表,在两个结点之间插入一个新结点时,需修改前一结点的next域,新插入

一数据结构简明教程-

结点的next域。所以共修改两个指针。

(5)答:在单链表中,删除第一个结点的时间复杂度为O(1)。插入结点需找到前驱

结点,所以在尾结点之后插入一个结点,需找到尾结点,对应的时间复杂度为O(n)。

在仅有头指针不带头结点的循环单链表中,删除第一个结点的时间复杂度O(n),因为删除第一个结点后还要将其改为循环单链表;在尾结点之后插入一个结点的时间复杂度也

为O(n):

在双链表中,删除第一个结点的时间复杂度为O(1);在尾结点之后插入一个结点,也

文档评论(0)

150****6477 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档