网站大量收购闲置独家精品文档,联系QQ:2885784924

离散数学-递归(精品·公开课件).pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
离散数学 黄晓宇 HuangSir@ 本讲内容 递归算法设计 简单的递归算法复杂度分析 回顾 阶乘 选择排序(P316) 选择排序(二) Procedure election_sort(S,n) // basic if n=1 then return // find max max_index :=1 for i:=2 to n do if Si Smax_index then max_index :=i //move swap(si, Smax_index) call election_sort(S,n-1) end election_sort 时间复杂度分析 bn = n-1+ bn-1 = bn-1 + n-1 = (bn-2 + n-2) + n-1 = (bn-3 + n-3) + n-2 + n-1 = b1 +1+2+3+ . . . +(n-1) = 0+ 1+2+3+ . . . +(n-1) = (n-1)*n/2= ?(n2 ) 递归关系 对序列a1, . . . , an,使用a1,a2… an-1表示an的等式称为递归关系。 显式地给出的a1, a2. . . , 的有限项,称为初始条件。 递归举例(Fibonacci序列): fn = fn-1 + fn-2 (n ? 3) f1 =1 f2 =2 字符串 Sn不含111的n位二进制字符串的个数,计算Sn 。 字符串(二) Sn不含111的n位二进制字符串,打印出所有Sn。 Hanoi塔 A、B、C三根圆柱,A柱上有n个圆盘,其中小盘在大盘上方,要把A上的所有盘都移到B上,每次只能移一个盘,而且移动过程中三根圆柱上的小盘都必须在大盘上方,最少要移多少步? Hanoi塔(二) 算法设计(一) 给出m×n走方格问题的所有解。 算法设计(二) P296:为序列a1×a2×a3×…×an添加括号(1)对任意n,编程实现所有编号方法;(2)证明加括号方法数为Cn-1 (n?2) 。 例:当n=3时,有两种加法: ((a1×a2)×a3)、 (a1×(a2×a3 )) 递归的应用-树型控件 * * 一个递归函数(伪代码)是调用自身的函数。一个递归算法是包含递归函数的算法。 递归算法的基本思想:分而治之。 即将问题分解成与初始问题同类型的子问题来求解,每一个子问题又可以继续分解……依次类推,直到这个过程得到的子问题可以通过一个直接的办法求解。 最后,通过组合子问题的解就可以得到初始问题的解。 int Factorial(int n) { if(n=1) return 1; return n*Factorial(n-1); } Input: s1 , . . ., sn和n Output:以递增顺序排列的s1 , . . ., sn 递归关系? Sort(s,n)=Sort(s-max{s},n-1)+max{s} b1 =0 1-7 :0 8 :n-1 9-11: 0 12: bn-1 bn = n-1+ bn-1 以0开始的: Sn-1 以10开始的: Sn-2 以110开始的: Sn-3 Sn= Sn-1+ Sn-2+ Sn-3 n ?4 PrintS(S,n)? PrintS(S,n-1)+0 PrintS(S,n-2)+01 PrintS(S,n-3)+011 算法实现?参数设计? A B C 初始状态和移动过程中的要求同上, 如何移?请设计算法。 (n,0,0) (1,0,n-1) (0,n,0) (0,1,n-1) (n-1,0,0) m×n *

文档评论(0)

秦圈圈 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档