- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
绝大部分算法的执行,都表现为按某种条件重复地执行一些循环。 而这些循环又经常可以用递归关系表达。 因此,算法的运行时间也经常存在着一种递归关系。例如:求n! 时间复杂度的分析 递归算法的时间复杂度分析 用生成函数求解递归方程 用特征方程求解递归方程 用递推法求解递归方程 时间复杂度的分析 用生成函数求解递归方程 原理: 递归算法的运行时间,随着递归深度的增加而增加。 假定序列:a0,a1,…,ak表示递归算法在不同递归深度时的运行时间,则序列中每一个元素之间,存在着一定的递归关系。 一般希望了解当递归深度k=n时,序列中元素an的值,即找出运行时间an与问题规模n的关系。 用生成函数求解递归方程 可以借助一个“参数”z来建立一个无穷级数的和: 通过对G(z)的一系列演算,得到序列a0,a1,…,ak的一个通项表达式,便可容易地获得递归算法在递归深度k=n时的运行时间。 用生成函数求解递归方程 定义:令 是一个实数序列,构造如下的函数: 则函数G(z)称为序列 的生成函数。 例如:函数 则函数 便是序列 的生成函数 用生成函数求解递归方程 生成函数的性质 加法 乘法 z变换 积分与微分 用生成函数求解递归方程 当c=1时: 则函数 便是序列 1,1,1,… 的生成函数 用生成函数求解递归方程 如果对 求导数,可得 则函数 便是序列 1,2,3…的生成函数 用生成函数求解递归方程 如果对(2.2.7)式求导数,可得 如果对 求积分,可得 则函数 便是序列 的生成函数 用生成函数求解递归方程 如果对(2.2.7)式求导数,可得 举例1:汉诺塔(Hanoi)问题 void Hanoi(char a,char b,char c,int n) { if(n==1)printf(“%c-%c”,a,b); else {Hanoi(a,c,b,n-1);//将n-1个盘子a-c printf(“%c-%c”,a,b);//将n从a到b Hanoi(c,b,a,n-1);//将n-1个盘子b-c } } 用生成函数求解递归方程 如果对(2.2.7)式求导数,可得 b a 建立移动次数h(n)的递归方程,n代表盘数 用生成函数求解递归方程 构造生成函数:用h(n)作为系数,构造一个生成函数(n从1开始) 用生成函数求解递归方程 根据递归方程,对G(x)进行变换,确定一个函数的幂级数展开式,令 用生成函数求解递归方程 用生成函数求解递归方程 因为:h(n)=2h(n-1)+1, 所以:h(n)-2h(n-1)=1 令 用生成函数求解递归方程 求得: 所以 用生成函数求解递归方程 ,它是式中第n项的系数。当时n=64, 移动次数为264-1。 举例2:若某递归算法执行时间的递归表达式为: 构造生成函数f(x): 对f(x)进行演算: 用生成函数求解递归方程 如果对(2.2.7)式求导数,可得 练习:用生成函数解下面的递归方程 (1)f(n)=3f(n-1)+1 f(1)=2 (2)f(n)=5f(n-1)-6f(n-2) f(0)=1 f(1)=0 用生成函数求解递归方程 如果对(2.2.7)式求导数,可得 用特征方程解递归方程的两种情况 K阶常系数线性齐次递归方程 K阶常系数线性非齐次递归方程 用特征方程求解递归方程 如果对(2.2.7)式求导数,可得 K阶常系数线性齐次递归方程 用特征方程求解递归方程 其中第2式是方程的初始条件,其中bi为常数。 特征方程的建立 可以求出特征方程的根,得到递归方程的通解。 再利用递归方程的初始条件,确定通解中的待定系数,从而得到递归方程的解 分成两种情况讨论 是特征方程的k个互不相同的根。则递归方程的通解为: c1,c2,…,ck为待定系数,把递归方程的初始条件代入其中,建立联立方程,确定系数c1,c2,…,ck ,从而可求出通解f(n) 用特征方程求解递归方程 2.特征方程的n个根中有r个重根 则递归方程的通解为: c1,c2,…,ck为待定系数,把递归方程的初始条件代入其中,建立联立方程,确定系数c1,c2,…,ck ,从而
您可能关注的文档
最近下载
- 2025入团考试精选120题题库(含答案).pdf VIP
- 00015英语二课文精讲讲义(8).docx VIP
- 新型多功能电渣重熔用气体保护罩.pdf VIP
- GB_T50109-2014:工业用水软化除盐设计规范.pdf VIP
- 《运动损伤与康复》王国祥 7第七章 手腕部运动损伤与康复.ppt VIP
- 卡通小学生心理健康绿色PPT模板.pptx VIP
- 2025人民出版社供小学用中华民族大家庭全册教案教学设计.docx
- 2025年选拔副校长笔试题及答案.docx VIP
- 电堆科技(合肥)有限公司:构建生物CH₄到SAF的新产业生态.docx
- 四川省内江市第六中学2024-2025学年九年级上学期期中测试化学试卷(含答案).docx VIP
原创力文档


文档评论(0)