证明7n-2是on.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
证明7n-2是on

Recursive Example – 求 n! iterative version int factor(int n) { int result=1; for (int i=n;i=1;i--) { result *= i; } return result; } recursive version int factor(int n) { if (n==1) return 1; else return n*factor(n-1); } O(n) O(n) Performance Analysis 每次遞迴需 2 steps line 3 與 line 6 T(1) =2 (line 3 與 line 4) Recursive Formula T(n) = T(n-1) + 2 = T(n-2) + 4 = ... = T(1) + 2*(n-1) = 2n O(n) recursive version 1 int factor(int n) 2 { 3 if (n==1) 4 return 1; 5 else 6 return n*factor(n-1); 7 } Recursive Example: HANOI Towers 將 A 柱上所有的碟子搬移到 B 柱 搬移的過程小碟始終要在大碟之上。 相傳印度恆河的僧侶只要將 A 柱上的 64 個碟子全部搬移到 B 柱,世界末日就來到。如果他們一秒鐘可搬移一個碟子,問世界末日何時來到? A B C Recursive Example: HANOI Towers 3 2 A B C 以上圖為例,要搬移 A 柱上的三個碟子到 B 柱,我們可以簡單的這樣想: 先將最上面二個小碟 (1-2) 搬到 C 柱。( recursive, n-1 ) 將留在 A 柱的大碟搬到 B 柱。 最後,再將 C 柱上的二個小碟 (1-2) 搬到 B 柱。 ( recursive n-1 ) ? 1 Recursive Example: HANOI Towers //n is amount of disks, source, dest, temp are towers. void tower(int n, char source, char dest, char temp) { static int step; if (n==1) { step++; cout Step step : desk n from source move to dest endl; } else { tower(n-1, source, temp, dest); step++; cout Step step : desk n from source move to dest endl; tower(n-1, temp, dest, source); } } Performance Analysis 若有 n 個 disks,問最少要搬動多少次? 由上述程式,我們可以得到遞迴方程式 ? T(n) = 2T(n-1)+1 = 2[ 2T(n-2)+1 ] + 1 = 22 T(n-2) + 2 +1 = 22[ 2T(n-3)+1 ] + 2 + 1 = 23T(n-3) + 22+ 2+ 1 = …… = 2n-1 T(1) + 2n-2 + 2n-3 + …. + 2 + 1 = 2n-1 + 2n-2 + …. + 2 + 1 ? (等比級數,公比=2,有n 項) = 2n – 1 移動一次需一秒,問 64 個 disks 需幾秒? 令 10n = 264 (兩邊同取 log) n = 64 * log 2 = 64 * 0.3010 = 19.264 ≒ 20 故約需 1020 秒,約等於 3*1012 年 由此可知,世界末日還早,還有很多時間研究資料結構 ? 應用演

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档