第2章递归与分治策略课件.ppt

第2章递归与分治策略课件.ppt

ID:58703290

大小:439.00 KB

页数:47页

时间:2020-10-04

第2章递归与分治策略课件.ppt_第1页
第2章递归与分治策略课件.ppt_第2页
第2章递归与分治策略课件.ppt_第3页
第2章递归与分治策略课件.ppt_第4页
第2章递归与分治策略课件.ppt_第5页
资源描述:

《第2章递归与分治策略课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章递归与分治策略将要求解的较大规模的问题分割成k个更小规模的子问题。算法总体思想nT(n/2)T(n/2)T(n/2)T(n/2)T(n)=对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。nT(n)=n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)算法总体思想对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如

2、此递归的进行下去,直到问题规模足够小,很容易求出其解为止。将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。nT(n)=n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)算法总体思想将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。nT(n)=n/2T(n/4)T(n/4)T

3、(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)n/2T(n/4)T(n/4)T(n/4)T(n/4)分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。凡治众如治寡,分数是也。----孙子兵法算法总体思想第2章递归与分治策略主要知识点:2.1★递归的概念2.2★分治法的基本思想2.3二分搜索技术2.4大整数的乘法2.5Strassen矩阵乘法2.6棋盘覆盖2.7合并排序2.8快速排序递归算法:直接或间接地调用自身的算法称为递归算法。递归函数:用函数自身给出

4、定义的函数称为递归函数。重要特性:函数每次调用自身时,自变量必是逐步接近边界条件给定的自变量的值,否则不能求出函数值。2.1递归的概念例1阶乘函数阶乘函数可递归地定义为:边界条件递归方程边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限次计算后得出结果。2.1递归的概念例2Fibonacci数列无穷数列1,1,2,3,5,8,13,21,34,55,…,被称为Fibonacci数列。它可以递归地定义为:递归方程边界条件2.1递归的概念前2例中的函数都可以找到相应的非递归方式定义:并非所有递归函数都能找到其非递归的定义,例如:Ackerman函数。2.1递归的

5、概念例3Ackerman函数当一个函数及它的一个变量是由函数自身定义时,称这个函数是双递归函数。Ackerman函数A(n,m)定义如下:2.1递归的概念M=0时,A(n,0)=n+2M=1时,A(n,1)=A(A(n-1,1),0)=A(n-1,1)+2,又A(1,1)=2,故A(n,1)=2*n+1M=2时,A(n,2)=A(A(n-1,2),1)=2A(n-1,2)+1,故A(n,2)=2^n+2^(n-1)+2^(n-2)+…+2+1=O(2^n)。例3Ackerman函数A(n,m)的自变量m的每一个值都定义了一个单变量函数:{n2222NM=3时,类似的可以推出O()M=4时

6、,A(n,4)的增长速度非常快,以至于没有适当的数学式子来表示这一函数。2.1递归的概念定义单变量的Ackerman函数A(n)为,A(n)=A(n,n)。定义其拟逆函数α(n)为:α(n)=min{k|A(k)≥n}。即α(n)是使n≤A(k)成立的最小的k值。α(n)在复杂度分析中常遇到。对于通常所见到的正整数n,有α(n)≤4。但在理论上α(n)没有上界,随着n的增加,它以难以想象的慢速度趋向正无穷大。例3Ackerman函数2.1递归的概念例4排列问题设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{r

7、i}。集合X中元素的全排列记为perm(X)。(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列。R的全排列可归纳定义如下:当n=1时,perm(R)=(r),其中r是集合R中唯一的元素;当n>1时,perm(R)由(r1)perm(R1),(r2)perm(R2),…,(rn)perm(Rn)构成。2.1递归的概念例4排列问题算法输入:列表list[0,n];输出:将列表list[k,m]中元素进行全

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。