数据结构习题及答案.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题 一 填空题 数据的逻辑结构可形式地用一个二元组B=(K,R)来表示,其中K是_________,R是________。 存储结构可根据数据元素在机器中的位置是否连续分为____,____。 算法的基本要求有_____,_____,____,____,____。 度量算法效率可通过_______,_______两方面进行。 简述下列术语: 数据 数据元素 数据对象 数据结构 存储结构 数据类型。 3. 常用的存储表示方法有哪几种? 4.举例说明一下数据结构和算法的关系。 5.设有数据逻辑结构为B=(K,R),K={k1,k2,……,k9} r={k1,k3,k3,k8,k2,k3,k2,k4,k2,k5,k3,k9,k5,k6,k8,k9,k9,k7 , k4,k7,k4,k6} 画出这个逻辑结构的图示,并确定相对于r哪些结点是开始结点,哪些结点是终端结点? 6.试举一个数据结构的例子,并叙述其逻辑结构、存储结构、运算三方面的内容。 7.何谓算法?试详述算法设计的目的和算法必须满足的条件。 8.编写一个算法,对三个两位数按由大到小的顺序进行排序。描述构造该算法的思维过程。 习题二 1.如定理2.1所描述的,从盒子中往外取球,在1-4所给的答案中,哪一个是i,j,k对应的值。 ①Red,5,6 ②Blue,5,6 ③Blue,3,Red ④6,5,Red 2.如定理2.1所描述的,从盒子往外取球,在1-4所给的答案中,哪一个是i,j,k对应的值。 ①6,7,Red ②Blue,7,3 ③8,2,Red ④9,Red,1 3.假设T1(N)= O(F(N)),T2(N)= O(F(N)),说明下列哪一个正确? ①T1 (N)+ T2 (N) = O(F(N)) ②T1 (N)- T2 (N) = O(F(N)) ③T1 (N)/ T2 (N) = O(1) ④T1 (N) = O(T2 (N)) 4.假设两个算法的时间复杂度分别为T1(N)=O(N)和T2(N)=O(N2),说明下列哪一个正确(估算)? ①T1(N)* T2(N)= O(N3) ②T1(N)+ T2(N)= O(N2) ③T2(N)/ T1(N)= O(N) ④T2(N)- T1(N)= O(N) 5.基于定理2.2的描述,为什么不能充分获得一个最大连续子序列之和的次平方运行时间? 6.读者思考:由算法2.1到算法2.2的改进过程中,时间复杂度由三次降到二次,那么算法的空间复杂度有没有变化?这种改进是不是无条件的? 7.将下列各式组合成与Big-Oh相等的函数。 x2,x2 + x,x2 - x,x3/( x – 1 ) 8.确定以下各式的等价Big-Oh函数(估算)。 x4/(x+1),x3-x2,x2+x3 9.程序A和程序B经分析,有不超过150NlogN和N2的最坏情况下的运行时间,如可能,分别回答下列各问题: ①当N值很大时(N 10,000),哪个程序对运行时间有保证? ②N值较小(N 1000)时,哪一个程序对运行时间有更好的保证? ③在N = 1,000的平均情况下,哪个程序运行更好? ④在所有可能的输入中,程序B总比程序A运行的快吗? 10.程序A和程序B经分析,有不超过150NlogN和N2的最坏情况下的运行时间,读者计算一下输入的值N在哪个范围里程序A的运行效率高于程序B,在哪个范围里程序B的运行效率高于程序A?(提示:可以通过建立方程式求解) 11.对于这些你用手工来计算的典型算法,确定其运行时间。 ①两个N位整数相加 ②两个N位整数相乘 ③两个N位整数相除 12.设一个N位整数x,对于表达式x2 + x-x3/( x – 1 ),试确定其运行的时间复杂度(考虑“最坏情况分析法”)。 13.对于N个项来说,以下计算XN的算法运行时间是多少? double power(double x,int n) { double result = 1.0; for(int i = 0; i n; i++) result *= x; return result; } 14.试确定下面递归算法的时间复杂度: Int func(int n) { if(n= =0) return(0); return(n+func(n-1)); } 15.对于求最大子序列之和问题的平方算法而言,精确的确定语句最内部循环被执行多少次? 16.试计算在算法2.1中,精确的确定语句最内部循环被执行多少次? 17.一个算法在输入规模为100时,花费0.5ms的时间,在下列情况下,输入规模为500时,它将花费多少时间(低次项不考虑)? ①线性算法 ②O(NlogN) ③平方算法 ④立方算法 18.一个算法在输入规模为10时

文档评论(0)

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

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

1亿VIP精品文档

相关文档