数据结构与算法第三版第1章参考答案.docVIP

数据结构与算法第三版第1章参考答案.doc

  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.从逻辑上可以把数据结构分为(C 两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 2.在下面的程序段中,对x的斌值语句的频度为(C 。 for t=1;k<=n;k++) for(j 1;j<=n; j++) x x十1; A. O 2n B. O n C. O n2 . D. O(1og2n 3.采用顺序存储结构表示数据时,相邻的数据元素的存储地址(A 。 A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4.下面关于算法说法正确的是(D)。 A.算法的时间复杂度一般与算法的空间复杂度成正比 B.解决某问题的算法可能有多种,但肯定采用相同的数据结构 C.算法的可行性是指算法的指令不能有二义性 D.同一个算法,实现语言的级别越高,执行效率就越低 5.在发生非法操作时,算法能够作出适当处理的特性称为(B)。 A.正确性 B.健壮性 C.可读性 D.可移植性 二、判断题 1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。(√) 2.顺序存储方式的优点是存储密度大,且插人、删除运算效率高。(×) 3.数据的逻辑结构说明数据元素之间的次序关系,它依赖于数据的存储结构。(×) 4.算法的优劣与描述算法的语言无关,但与所用计算机的性能有关。(×) 5.算法必须有输出,但可以没有输人。(√) 三、筒答题 1.常见的逻辑结构有哪几种,各自的特点是什么?常用的存储结构有哪几种,各自的特点是什么? 【答】常见的四种逻辑结构: ① 集合结构:数据元素之间是“属于同一个集合” ② 线性结构:数据元素之间存在着一对一的关系 ③ 树结构:数据元素之间存在着一对多的关系 ④ 结构:数据元素之间存在着多对多的关系。 常见的四种存储结构有: ①顺序存储:把逻辑上相邻的元素存储在物理位置相邻的存储单元中。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。 ②链接存储:对逻辑上相邻的元素不要求物理位置相邻的存储单元,元素间的逻辑关系通过附设的指针域来表示。 ③索引存储:通过建立索引表存储结点信息的方法,其中索引表一般存储结点关键字和一个地点信息,可通过该地址找到结点的其他信息。 ④散列存储:根据结点的关键字直接计算出该结点的存储地址的方法。 2.简述算法和程序的区别。 【解答】一个算法若用程序设计语言来描述,则它就是一个程序。算法的含义与程序十分相似,但又有区别。一个程序不一定满足有穷性。例如,操作系统,只要整个系统不遭破坏,它将永远不会停止,即使没有作业需要处理,它仍处于动态等待中。因此,操作系统不是一个算法。另一方面,程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。 3.试举一个数据结构的例子,叙述其逻辑结构、存储结构、运算这3方面的内容。 【解答】略。 4.运算是数据结构的一个重要方面。试举例说明两个数据结构的逻辑结构和存储方式完全相同,只是对于运算的定义不同,使得两个结构具有显著不同的特性。 【解答】比如顺序栈和循环队列,二者的逻辑结构都是线性结构,都采用顺序存储方式存储,但它们的运算不同,栈限定元素的插入和删除在栈顶进行,队列限定元素在队尾插入、在队首删除,因此它们是截然不同的数据结构。 5.分析下列程序段中带标号“#’’语句的执行频度 n为正整数)。 (1 j=1;k 0; while(j n-1) j++; k+ j; /*#*/ 【解答】 n-1 (2)i 0;s 0;n 100; do i++; s+=10*i;/*#*/ while! i ns n ; 【解答】1 (3)k=0; for i=0;i<n;i++) for j=i;j<n;j++) k++;/*#*/ 【解答】n n+1 /2 4 a 1;b 0; while(a+b<=n) if a<b)a++;/*#*/ else b++; [解答]n (5)x=91;y=100; while(y 0 if x 100 x- 10; y--; /*#*/ else x++; [解答] 1000 6.写出下列各程序段关于n的时间复杂度。 (1) a=1;m=1; while(a<n) m+ a; a*=3; [解答]O n (2)设n是偶数。 for(i 1,s=0;i<=n;i++) for(j 2*i;j<=n;j++) s++; [解答] O(n2) (3)for(i 1;i< n-1;i++) k=i; for j i+1;j< n;j++) if R[j]>R[j+1])k=j;

文档评论(0)

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

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

1亿VIP精品文档

相关文档