- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                算法设计与分析后答案田翠华著
                    参考答案
第1章
一、选择题
1.  C	2.  A	3.  C	4.  C A D B  5.  B	6.  B
7.  D	8.  B	9.  B	10.  B	11.  D	12.  B
二、填空题
1.  输入;输出;确定性;可行性;有穷性
2.  程序;有穷性
3.  算法复杂度
4.  时间复杂度;空间复杂度
5.  正确性;简明性;高效性;最优性
6.  精确算法;启发式算法
7.  复杂性尽可能低的算法;其中复杂性最低者
8.  最好性态;最坏性态;平均性态
9.  基本运算
10.  原地工作
三、简答题
1.  高级程序设计语言的主要好处是:
(l)高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需要几周时间的培训就可以胜任程序员的工作;
(2)高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
(3)高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好、重用率高;
(4)把复杂琐碎的事务交给编译程序,所以自动化程度高,发用周期短,程序员可以集中集中时间和精力从事更重要的创造性劳动,提高程序质量。
2.  使用抽象数据类型带给算法设计的好处主要有:
(1)算法顶层设计与底层实现分离,使得在进行顶层设计时不考虑它所用到的数据,运算表示和实现;反过来,在表示数据和实现底层运算时,只要定义清楚抽象数据类型而不必考虑在什么场合引用它。这样做使算法设计的复杂性降低了,条理性增强了,既有助于迅速开发出程序原型,又使开发过程少出差错,程序可靠性高。
(2)算法设计与数据结构设计隔开,允许数据结构自由选择,从中比较,优化算法效率。
(3)数据模型和该模型上的运算统一在抽象数据类型中,反映它们之间内在的互相依赖和互相制约的关系,便于空间和时间耗费的折衷,灵活地满足用户要求。
(4)由于顶层设计和底层实现局部化,在设计中出现的差错也是局部的,因而容易查找也容易纠正,在设计中常常要做的增、删、改也都是局部的,因而也都容易进行。因此,用抽象数据类型表述的算法具有很好的可维护性。
(5)算法自然呈现模块化,抽象数据类型的表示和实现可以封装,便于移植和重用。
(6)为自顶向下逐步求精和模块化提供有效途径和工具。
(7)算法结构清晰,层次分明,便于算法正确的证明和复杂性的分析。
3.  算法的复杂度是算法运行所需要的计算机资源的量。
4.  当问题的规模递增时,将复杂度的极限称为渐进复杂度。
5.  采用复杂性渐近性态替代算法复杂度,使得在数量级上估计一个算法的执行时间成为可能。
四、计算题
1.  验证下面的关系:
O(1)O(logn)O(n)O(nlogn)O(n2) 
及    O(2n)O(n!)O(nn)。
证明1:数学归纳法。
证明2:反证法。
证明3:定义证明
令f1(n)= O(1),f2(n)= O(logn),f3(n)= O(n),f4(n)= O(nlogn),f5(n)= O(n2)。
根据|f(n)| = |O(g(n))|定义,可知一定存在两个正的常数C和n0,使得对所有的n≥ n0,有f(n) ≤ C g(n) 。
那么,就有f1(n) ≤ C1,f2(n) ≤ C2 logn,f3(n) ≤ C3 n,f4(n) ≤ C4 nlogn,f5(n)≤ C5n2。
所以,O(g(n))之间的比较可以通过f(n)之间的比较得以实现。
而当n≥ n0时,C1 C2 logn C3 n C4 nlogn C5 n2成立。
再根据O(g(N))表示所有f(N)增长的阶不超过g(N)的函数的集合,它用以表达一个算法运行时间的上界。
则f1(n)的上界 f2(n)的上界 f3(n)的上界 f4(n)的上界 f5(n)的上界
那么就验证了
O(1)O(logn)O(n)O(nlogn)O(n2)。
同理,有:O(2n)O(n!)O(nn)。
证明4:极限法(通常使用罗比塔法则)。  
 
2.  找出下述证明中的错误:因为n= O(n),2n= O(n),…,故:
 
解答:概念不清。
n= O(n),2n= O(n),…,是集合,是说n,2 n,…,的阶是n,不是数值上相等。
是数值求和,即首项为n的n项等差为n的数列求和
所以,。应该是:
= 1 n +2 n +3 n +……+nn= n(n+1)n/2 ,而 
 
= O(max(1 ,2 ,3,4 ,…,n))  // 根据性质O(f)十O(g)=O(max(f,g))
= O(n)   //集合操作,上界的并取最大者
3.  求以下各式的渐进表达式:
5 n2+8 n ,3n2/11 + 3n ,56 + 3/ n ,logn5 ,6 log4 n。
解答:
5n2+8 
                您可能关注的文档
最近下载
- 留岗培训金属热处理初级工理论考试.docx VIP
- 铝方通吊顶安装施工方案及技术措施.docx VIP
- 商务英语(北京交通大学)中国大学MOOC慕课章节测验答案(课程ID:1205722812).pdf VIP
- 第37号:危险性较大分部分项工程管理规定(2018).docx VIP
- 难治性支原体肺炎诊治.pdf
- 初中语文整本书阅读教学与写作能力提升的实践课题报告教学研究课题报告.docx
- 全新版进阶视听说B1 四级听力训练4测试答案.docx VIP
- 初二下学期期中考试(数学)试题含答案.docx VIP
- 高净值人士税务观察:个人股东在并购重组中能否暂免纳税?.pdf
- 落地式外脚手架施工方案修改版.docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)