- 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 不大于100,因此定义数组时10个下标变量就足够了。 为了避免反复过程调用,我们采用以下主要步骤: 1、先利用双重循环将10以内的方案数计算后,存放在数组A中; 2、输入N; 3、在一重循环中,利用公式直接求和。 4、输出方案数K。 [程序清单] 略 [运行数据及测试结果] 递归与分治基本原理 递推与递归 递归与递推表面看来是相逆的过程,其实也是相似的,最终的计算都是从小算到大。 递推的使用环境要求高导致了递推的高效性,递推没有重复计算什么数据,保持了高效。 递归大多数会重复计算子问题,导致时间浪费,所以一般不要使用过深的递归,甚至会空间溢出。 棋盘覆盖问题 还可以将棋盘覆盖推广到一般情况: 大数的运算 加法 减法 乘法 100! 93 326215 443944 152681 699263 856266 700490 715968 264381 621468 592963 895217 599993 229915 608914 463976 156578 286253 697920 827223 758251 185210 916864 000000 000000 000000 000000 除法 …… 大整数的乘法 问题描述: 设X和Y都是n位的二进制整数,请设计一个有效的算法,可以进行两个n位大整数的乘法运算。 分析: 1.小学的方法:O n2 效率太低 大整数的乘法 2.可以用分治法的原理设计一个更有效的算法。 将n位的二进制整数分为2段: 大整数的乘法 效率: 4次n/2位整数乘法 AC, AD,BC, BD ; 3次不超过n位整数加法; 2次移位 分别对应乘以2n和2n/2 所有加法和移位共用O n 步计算。 改进:把 1 式稍作修改: XY AC2n + A-B D-C +AC+BD 2n/2 + BD 2 效率: 3次n/2位整数乘法 AC, BD, A-B D-C ; 6次不超过n位整数加、减法和2次移位; begin //两个n位整数相乘 伪代码 X abs X ; Y abs Y ; if n 1 return S*X*Y ; else begin A: X的左边n/2位; B: X的右边n/2位; C: Y的左边n/2位; D: Y的右边n/2位; m1: Mult A, C, n/2 ; m2: Mult A-B, D-C, n/2 ; m3: Mult B, D, n/2 ; S: S* m1* 2n + m1+m2+m3 *2n/2+m3 ; return S; end;End; 大整数的乘法 分析 传统的方法:O n2 ?效率太低 分治法: O n1.59 ü较大的改进 更快的方法? 对于大整数乘法,它能在O nlogn 时间内解决。 是否能找到线性时间的算法? 目前为止还没有结果 。 循环赛日程表 例如: 循环赛日程表 分析: 法1:分治策略 按分治策略,将所有的选手分为两半,n个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。 递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简单。这时只要让这2个选手进行比赛就可以了。 循环赛日程表 分析 法2:递推法 迭代法 循环赛日程表 递推法 迭代法 即2k个选手的比赛日程在2k-1个选手的比赛日程基础上通过迭代完成,每次迭代,将问题分为4个部分: 左上角: 2k-1个选手前半程的比赛日程 左下角:另2k-1个选手前半程的比赛日程,由左上角加2k-1得到 右上角:将左下角抄到右上角,得到另2k-1个选手后半程的比赛日程。 右下角:将左上角抄到右下角,得到2k-1个选手后半程的比赛日程。 谢 谢! 8 8 7 7 8 6 6 7 5 4 4 6 5 5 4 3 2 1 1 3 3 2 2 1 12 11 11 10 9 9 12 12 11 10 10 9 8 7 7 6 5 5 8 8 7 6 6 5 4 3 3 2 1 1 4 4 3 2 2 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 × 1 1 0 1 A n/2位 B n/2位 C n/2位 D n/2位 X Y 则: X A2n/2+B(乘2n/2,相当于左移n/2位) Y C2n/2+D 于是: XY A2n/2+B C2n/2+D AC2n + AD+BC 2n/2 + BD 1 时间复杂性分析 T n O n2 ?没有改进 时间复杂性分析 T n O nlog3 O n1.59 ü较
您可能关注的文档
- 化学方程式课题.ppt
- 上海市静安区2003学年第一学期期末检测研究.doc
- 九年级压强课题.docx
- 彭方波支气管肺炎护理查房解答.ppt
- 燃烧热能源与化学反应热的计算1解答.ppt
- 上海市六校2015届高三第二学期联考物理试卷(带答案)研究.doc
- 化学方程式配平1课题.ppt
- 彭康亮音乐会策划解答.ppt
- 九年级语文成功课题.pptx
- 上海市闵行区2015届高三下学期质量调研考试(一模)物理试卷研究.doc
- 云南省曲靖市会泽县2025年小升初数学重难点模拟卷含解析.doc
- 《现代电气与PLC应用技术》课件项目4的任务1.ppt
- 南京理工大学泰州科技学院《第二外语(日德)(1)》2022-2023学年第一学期期末试卷.doc
- 湖北省沙洋县重点中学2025届初三第三次诊断物理试题含解析.doc
- 医学护理常见病症知识及处理方式测试卷.doc
- 2025年山东菏泽郓城重点达标名校中考模拟最后十套:数学试题(十)考前提分仿真卷含解析.doc
- 公路车骑行基本知识培训课件.pptx
- 榆林能源科技职业学院《高等环境生物学》2023-2024学年第一学期期末试卷.doc
- 天津职业技术师范大学《规划制图》2023-2024学年第一学期期末试卷.doc
- 江苏省扬州市江都市2025年五下数学期末学业质量监测模拟试题含答案.doc
文档评论(0)