- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(算法分析的设计)第1章递推关系.ppt
递推关系 递推方程 递推方程(recurrence equation)是自然数上一个函数T(n),它使用一个或多个小于n时的值的等式或不等式来描述。递推方程也称为递推关系或递推式。 递推方程必须有一个初始条件(也称边界条件)。 程序的时间分析 设n = d1d2?dk是k位数,当k = 1时,只执行cout语句和if判定语句;当n至少是2位数(k>1)时,除了执行这两个操作外,还需执行递归函数调用PrintDigit(n/10),?n/10?是k ? 1位数 。 T(k) = 2k + 2 = ?(k) void PrintDigit(unsigned int n) { coutn%10; //输出最后一位数dk if(n=10) PrintDigit(n/10); //以逆序输出前k-1位数 } 汉诺塔问题 enum tower { A=X, B=Y, C=Z}; void Move(int n,tower x,tower y) { //将第n个圆盘从塔座x移到塔座y的顶部 cout The disk n is moved from char(x) to top of tower char(y) endl; } void Hanoi(int n, tower x, tower y, tower z) {//将x上部的n个圆盘移到y上,顺序不变。 if (n) { Hanoi(n-1, x, z, y); Move(n,x,y); Hanoi(n-1, z, y, x); } } 时间复杂度分析 替换方法 替换方法要求首先猜测递推式的解,然后用归纳法证明。 可以先对以下这些小的示例进行计算: T(3) = 7 = 23 ? 1;T(4) = 15 = 24 ? 1; T(5) = 31 = 25 ? 1;T(6) = 63 = 26 ? 1 看起来,似乎T(n) = 2n ? 1,n≥1。 证明:(归纳法证明) 当n = 1时,T(1) = 1,结论成立。归纳法假设:当k<n时,有T(k) = 2k ? 1,那么,当k = n时,T(n) = 2T(n ? 1) + 1 = 2(2n?1 ? 1) + 1 = 2n ? 1。因此,对所有n≥1,T(n) = 2n ? 1 = ?(2n)。 使用递归树(recursion tree)可以形象地看到递推式的迭代过程。 例 T(n) = 2T(n/2) + n的递归树 T(n) = T(n/3) + T(2n/3) + n的递归树 主方法 主方法 在递归算法分析中,常需要求解如下形式的递推式: T(n) = aT(n/b) + f(n) 式中,a≥1和b>1是常数,求解这类递推式的方法称为主方法。 a:子问题的数量; n/b指?n/b? 或 ?n/b? :子问题的数据规模; f(n)是一个渐近正函数,把问题分解为子问题和把子问题归并起来的工作量。 主方法 根据这两项对结果的影响不同,分成三种情况讨论 两项同阶 前一项比后一项的阶高,对结果的影响大,忽略后一项 后一项比前一项的阶高,对结果的影响大,忽略前一项 渐近分析的记号 算法渐近复杂性分析中常用函数 (1)单调函数 单调递增:m ? n ? f(m) ? f(n) ; 单调递减:m ? n ? f(m) ? f(n); 严格单调递增:m n ? f(m) f(n); 严格单调递减:m n ? f(m) f(n). (2)取整函数 ? x ? :不大于x的最大整数; ? x ? :不小于x的最小整数。 取整函数的若干性质 x-1 ? x ? ? x ? ? x ? x+1; ? n/2 ? + ? n/2 ? = n; 对于n ? 0,a0, b0,有: ? ? n/a ? /b ? = ? n/ab ? ; ? ? n/a ? /b ? = ? n/ab ? ; ? a/b ? ? (a+(b-1))/b; ? a/b ? ? (a-(b-1))/b; f(x)= ? x ? , g(x)= ? x ? 为单调递增函数。 (3)多项式函数 p(n)= a0+a1n+a2n2+…+amnm;am0; f(n) = O(nk) ? f(n)多项式有界; f(n) = O(1) ? f(n) ? c; k ? m ? p(n) = O(nk) ; k ? m ? p(n) = ?(nk) ; k m ? p(n) = o(nk) . 算法渐近复杂性分析
您可能关注的文档
- (电磁学课件)相关复习-电磁学.ppt
- (病历质控培训知识班课件)住院病案首页填写与质控.ppt
- (病历质控培训知识班课件)病案质控与法律.ppt
- (病原免疫实验课件)实验三免疫标记技术知识.ppt
- (病原生物和 与免疫学基础)第6章免疫学应用.ppt
- (病原生物和 与免疫学实验)免疫学探索性实验.ppt
- (病原生物和 与免疫学实验)免疫实验二:沉淀反应和 与溶血试验-陈玮琳、翁莉霞.ppt
- (病原生物和 与免疫学实验)实验二基础培养基、细菌接种及 其常用生化反应.ppt
- (病原生物和 与免疫学实验)实验六白喉杆菌、厌氧菌、分枝杆菌病毒及其它微生物.ppt
- (病案质控培训班讲义)8.病历质控相关管理流程及反馈.ppt
- 2025年分红险:低利率环境下产品体系重构.pdf
- 大学生职业规划大赛《应用物理学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《新媒体技术专业》生涯发展展示PPT.pptx
- 七年级上册英语同步备课(人教2024)Unit 3 课时2 Section A(2a-2f)(同步课件).pdf
- 七年级上册英语同步备课(人教2024)Unit 2 课时4 Section B(1a-1d)(同步课件).pdf
- 七年级上册英语同步备课(人教2024)Unit 3课时6 project(课件).pdf
- 2025年港口行业报告:从财务指标出发看港口分红提升潜力.pdf
- 2023年北京市海淀区初一(七年级)下学期期末考试数学试卷(含答案).pdf
- 2026年高考化学一轮复习第7周氯及其化合物、硫及其化合物.docx
- 2023年北京市西城区北京四中初一(七年级)下学期期中考试数学试卷(含答案).pdf
文档评论(0)