算法设计与分析习题.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】 算法设计与分析习题 《算法设计与分析》习题 第一章算法引论 算法的定义 答:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。 通俗讲,算法:就是解决问题的方法或过程。 算法的特征 答:1)算法有零个或多个输入; 2)算法有一个或多个输出; 3)确定性 ; 4)有穷性 算法的描述方法有几种 答:自然语言、图形、伪代码、计算机程序设计语言 衡量算法的优劣从哪几个方面 答:(1) 算法实现所耗费的时间(时间复杂度); (2) 算法实现所所耗费的存储空间(空间复杂度); (3) 算法应易于理解,易于编码,易于调试等等。 时间复杂度、空间复杂度定义 答:指的是算法在运行过程中所需要的资源(时间、空间)多少。 6、时间复杂度计算: {i=1; while(i=n) i=i*2; } 答:语句①执行次数1次, 语句②③执行次数f(n), 2^f(n)=n,则f(n) =log2n; 算法执行时间: T(n)= 2log2n +1 时间复杂度:记为O(log2n) ; 7.递归算法的特点 答:①每个递归函数都必须有非递归定义的初值;否则,递归函数无法计算;(递归终止条件) ②递归中用较小自变量函数值来表达较大自变量函数值;(递归方程式) 8、算法设计中常用的算法设计策略 答:①蛮力法; ②倒推法; ③循环与递归; ④分治法; ⑤动态规划法; ⑥贪心法; ⑦回溯法; ⑧分治限界法 9、设计算法:   递归法:汉诺塔问题兔子序列(上楼梯问题)   整数划分问题   蛮力法:百鸡百钱问题 倒推法:穿越沙漠问题 答:算法如下: 递归法 汉诺塔问题 void hanoi(int n, int a, int b, int c) {if (n 0) { hanoi(n-1, a, c, b); move(a,b); hanoi(n-1, c, b, a); } } 兔子序列(fibonaci数列 ) 递归实现: Int F(int n) { if(n=2) return 1; else return F(n-1)+ F(n-2); } 上楼梯问题 Int F(int n) { if(n=1) return 1 if(n=2) return 2; else return F(n-1)+ F(n-2); } 整数划分问题 问题描述:将正整数n表示成一系列正整数之和,n=n1+n1+n3+… 将最大加数不大于m的划分个数,记作q(n,m)。正整数n的划分数p(n)=q(n,n)。 可以建立q(n,m)的如下递归关系: 递归算法: Int q( int n, int m){ if(n1||m1) return 0; If((n=1)||(m=1)) return 1; If (nm) return q(n,n); If(n=m) return q(n,m-1)+1; else return q(n,m-1)+q(n-m,m); } 蛮力法:百鸡百钱问题 算法设计1: 设x,y,z分别为公鸡、母鸡、小鸡的数量。 约束条件: x+y+z=100 且 5*x+3*y+z/3=100 main( ) { int x,y,z; for(x=1;x=20;x=x+1) for(y=1;y=34;y=y+1) for(z=1;z=100;z=z+1) if(100=x+y+z and 100=5*x+3*y+z/3) { print(the cock number is,x); print(the hen number is, y);     print(the chick number is z);} } 算法分析:以上算法需要枚举尝试20*34*100=68000次。算法的效率显然太低 算法设计2: 在公

文档评论(0)

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

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

1亿VIP精品文档

相关文档