- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2讲分治与递归策略2.1 分治算法的基本思想2.2 递归概念2.3 典型分治算法举例 nn/16n/16n/16n/16n/16n/16n/16n/16n/16n/16n/16n/16n/16n/16n/16 n/4 n/4 n/4 n/4n/16算法总体思想 将一个难以直接解决的规模较大的问题分解为若干个规模较小的子问题,并各个击破,分而治之。 将求出的较小规模的问题解合并成一个较大规模的问题解,并自底向上地求出原问题的解。 最顶层问题a 为分解的子问题数量;n/b 为每个子问题的数据规模;f(n) 为合并子问题解所消耗的时间。2.1 分治算法的基本思想 分治算法的基本思想是将一个规模为n的问题分解为a个规模较小的子问题,这些子问题互相独立且与原问题相同。递归地解这些子问题,然后将各个子问题的解合并得到原问题的解。分治算法所能解决问题一般具有以下几个特征:缩小问题规模可以降低解决问题的难度;可以将子问题的解合并为原问题解;问题分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。分治算法的算法框架divide-and-conquer(P){ if ( | P | = n0) adhoc(P); //解决规模小的问题 //将问题P 分解为子问题P1,P2,...,Pa; for (i=1,i=a,i++) yi=divide-and-conquer(Pi);//递归的求解各子问题 return merge(y1,...,ya); //合并为原问题的解}分治算法的复杂性分析 一个分治算法将规模为n的问题分成a个规模为n/b的子问题。设分解阈值n0=1,且adhoc解规模为1的问题耗费1个单位时间。再设将原问题分解为a个子问题以及用merge将a个子问题的解合并为原问题的解需用f(n)个单位时间。用T(n)表示该分治算法解规模为|P|=n的问题所需的计算时间,则有下列递归方程:通过求解递归方程得到递归算法的时间复杂性。9、我们的市场行为主要的导向因素,第一个是市场需求的导向,第二个是技术进步的导向,第三大导向是竞争对手的行为导向。10、市场销售中最重要的字就是“问”。11、现今,每个人都在谈论着创意,坦白讲,我害怕我们会假创意之名犯下一切过失。12、在购买时,你可以用任何语言;但在销售时,你必须使用购买者的语言。13、He who seize the right moment, is the right man.谁把握机遇,谁就心想事成。14、市场营销观念:目标市场,顾客需求,协调市场营销,通过满足消费者需求来创造利润。15、我就像一个厨师,喜欢品尝食物。如果不好吃,我就不要它。16、我总是站在顾客的角度看待即将推出的产品或服务,因为我就是顾客。17、利人为利已的根基,市场营销上老是为自己着想,而不顾及到他人,他人也不会顾及你。求解递归方程的三种方法:替换方法递归树方法公式法替换方法替换方法的主要思想是首先推测出递归方程的解 ,然后代入递归方程,查看是否满足条件。 替换方法解递归方程的基本步骤: ① 猜测出递归解的形式 ② 用数学归纳法找出使解真正有效的常数适用比较容易猜出递归解的情形。例:T(n)=2T(n/2)+n (2路归并) 猜测出解为T(n)=O(nlgn) 证明存在某个常数c,使得T(n) ≤cnlgn数学归纳法:假设解对n/2成立,即T(n/2) ≤c(n/2)lg(n/2)将其对递归方程进行替换,得:T(n)= 2T(n/2)+n ≤2(c(n/2)lg(n/2))+n ≤cnlg(n/2)+n ≤cnlgn-cnlg2+n = cnlgn-cn+n 当c≥1时,显然cnlgn-cn+n ≤cnlgn 根据O符号定义,证明猜测正确。递归树方法递归树可以方便地推测递归方程的解,是描述分治算法的运行时间复杂性的有效手段。用递归树方法求解递归方程的基本步骤: ① 利用递归树推测出一个解 ② 利用替换方法进行证明 构造递归树的方法就是展开递归方程,然后将树中每层的时间求和,最终获得算法的时间复杂性。例:T(n)=3T(n/4)+cn2 T(n) →log4n+1O(nlog4 3 )nlog4 3递归树总共有多少层?当递归树展开一层,其规模为n/4,当递归树展开到第2层时,其规模为n/16=n/42,依次类推,当展开到第k层时,其规模为n/4k=1时,不再展开,由此可以求得递归树的层数为k=log4n。 现在,我们来计算一下,有多少个叶节点。第1层有3个节点,第2层有32个节点,依次类推,第k层有3k个节点,当k=log4n,即为叶节点,因此,叶节点的个数为 ,而每个叶节点需要的时间为T(1),因此,整个叶节点的时间为
您可能关注的文档
- 凯瑞汽车俱乐部管理软件 .pptx
- 凯斯挖掘机交机培训 .pptx
- 凤居轩CIS设计2(62)-优质课件 .pptx
- 凯迪拉克电话使用技巧 .pptx
- 凯迪拉克品牌讲义 .pptx
- 出入境动物和动物产品的检疫概述 .pptx
- 出入境集装箱`交通运输工具检疫与报检 .pptx
- 凹版印刷油墨常见问题的分析及对策123_(NXPowerLite) .pptx
- 出口业务会计培训教材 .pptx
- 出口企业网络营销策略分析 .pptx
- DeepSeek培训课件入门宝典:第2册 开发实战篇 .pptx
- 全面认识全过程人民民主-2024春形势与政策课件.pptx
- 2024春形势与政策-全面认识全过程人民民主.pptx
- 2025年春季学期形势与政策第二讲-中国经济行稳致远讲稿.docx
- 2024春形势与政策-铸牢中华民族共同体意识课件.pdf
- 2024春形势与政策-走好新时代科技自立自强之路课件 (2).pptx
- 2024春形势与政策-走好新时代科技自立自强之路课件.pptx
- 形势与政策学习指导教学-整套课件.pdf
- 2023年春季形势与政策讲稿第三讲-开创高质量发展新局面.pdf
- DeepSeek培训课件-清华大学-DeepSeek模型本地部署与应用构建.pptx
文档评论(0)