数据结构案例教程(CC++版)第2版 思考与练习参考解答 陈波.pdf

数据结构案例教程(CC++版)第2版 思考与练习参考解答 陈波.pdf

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第1章思考与练习参考解答

一、单项选择题

题号12345678910

答案BCDCCDCBB,BB,C

解析:

7.读取数组第i个元素可以直接通过数组的下标定位,与n无关,因此平均时间复杂度

为O(1)。

2

8.基本语句为x=x+1,假设循环执行T(n)次,则(T(n)+1)≤n,因此T(n)=O()。

9.算法的空间复杂度只需分析该算法在实现时所需的辅助空间与问题规模n间的函数

关系。该算法需要另外借助一个大小为n的辅助数组b,因此空间复杂度为O(n)。

10.该算法仅需要另外借助一个变量temp,与问题的规模n无关,因此空间复杂度为

O(1)。

二、填空题

1.集合线性结构树形结构图形结构顺序存储链式存储

2.有穷性确定性可行性

3.算法对非法输入的抵抗能力,即对于错误的输入,算法应能识别并做出处理,而不是

产生错误动作或陷入瘫痪。

4.n,n(n+1)/2。解析:外层循环执行n次,内层循环执行i次,i从1取到n。得知执

行最内层循环语句执行总次数为n(n+1)/2,时间复杂度为O(n)。

三、简答题

1.“数据结构”这个术语有两种含义,一是作为一门课程的名称,二是作为一个科学

术语。作为科学术语,数据结构主要研究数据的逻辑结构、存储结构和对数据进行的操作(运

算)。

数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一

种简化情况。

2.两者的关系是,一个程序应包括:

1)对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data

structure)。

2)对操作的描述。即操作步骤,也就是算法(algorithm)。

可以说,程序就是遵循一定规则的、为完成指定工作而编写的代码。有一个经典的等式

阐明了什么叫程序:程序=算法+数据结构,当然,这个等式的右边还可以加上程序设计

方法、语言工具和环境等要素。

算法和程序的区别主要在于:

1)在语言描述上,程序必须是用规定的程序设计语言来写,而算法有多种描述方法。

2)在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限地执行下去。

3.略

4.略

5.略

6.

(1)O(n)

1

(2)O(n)

(3)

(4)。对于最内层的语句s=s+i,s到达n的过程刚好是1+2+3+…+x这样累加

起来的,根据等差数列求和公式,(1+x)*x/2=n,故x约等于,因此时间复杂度为。

(5)设基本语句:x=2*x;的执行次数为k,执行k次后,x=2k+1,由循环结束条件可得:

2k+1n/2,因此时间复杂度为。

(6)内层循环条件j=n与外层循环的变量无关,各自独立。内层循环每执行一次j自

t

增1,都执行n次。外层循环条件k=n,增量定义为k*=2,可知循环次数t满足k=2=n,

即t。即内层循环的时间复杂度为O(n),外层循环的时间复杂度为O()

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档