算法设计与分析-算法设计基础.pptx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析Design and Analysis of Algorithms 主要内容算法设计与分析广度优先商旅问题迭 代循环与递归深度优先内存移动蛮 力数据结构分 治最大公约数大数运算基本技巧回溯与分支限界泰勒公式最大子段和贪 婪背包问题随机算法动态规划数学模型算法分析体系及计量算法基础基本算法策略通用算法算法设计实践主要内容终级目标:问题求解1.分析问题:已知条件、数据结构、问题分划2.计算模型:技术、工具、手段3.求解策略:技术路线4. 编程求解:程序设计5. 效率评估:算法评估手段--算法分析工具第1章 算法基础主要内容算法的基本概念算法描述的方法算法设计的过程算法设计工具基本的数据结构算法课难!!!太难!!!(1)What? 解决问题方法(2)why?更好地解决问题算法策略(3)how?(1)理解与分析问题(2)相似问题—相似解法,设计算法(3)算法优化,评估--优化数学工具===算法的基本概念 ===算法(Algorithm) 对解题方案准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。算法定位:“算法是计算机科学的核心”“没有算法,就没有计算机程序”“算法是计算机软件的灵魂”“软件开发,算法先行”算法应用领域:工业自动化控制电子工业医疗卫生航空航天人工智能经济商务学习目标:用计算机更好地求解问题===算法的基本概念 ===【例1-1】求任意两个非负整数最大公约数(greatest common divisor, gcd)。问题分析 1)解决办法:质因数分解法、欧几里德算法 (辗转相除法)、更相减损法…… 2)共同特点:使用公约数不断进行约简,约简的次数(迭代)越少,算法的效率越高。计算模型设a, b 0 1) 穷举法?===算法的基本概念 ===【例1-1】求任意两个非负整数最大公约数(greatest common divisor, gcd)。计算模型 2) ?证明设a、b的最大公约数为d,表示为d|a, d|b设 a/b=m…r ? a=b*m+r因为 d|a, d|ba%d=0 ? (b*m+r)/d=0 ? b*m%d=0, r%d=0所以 d|r ===算法的基本概念 ===【例1-1】求任意两个非负整数最大公约数算法设计与描述?穷举法欧几里德算法输入:a, b∈Z输出:a, b的最大公约数r或bstep 1: 取r=min{a, b};step 2: 测试a mod r==0 and b mod r==0,成立,执行step4,否则执行step3;step 3: 执行r=r-1, 返回step2继续执行;step 4: 输出r,算法停止。step 1: 执行r= a mod b,若r==0,则执行step3,否则执行step2;step 2: 执行a=b、b=r, 返回step1继续执行;step 3: 输出b,算法停止。 思考题:本描述有哪些特点?===算法的基本概念 ===【例1-1】求任意两个非负整数最大公约数算法分析—效率设a=21, b=141) 穷举法:① r=14, 21 mod 14=7 and 14 mod 14=0, r=14 - 1=13;② 21 mod 13=8 and 14 mod 13=1, r=13 - 1=12;⑦ 21 mod 8=5 and 14 mod 8=6, r=8 - 1=7⑧ 21 mod 7=0 and 14 mod 7=0, 输出r。2)欧几里德算法:①r=21 mod 14=7, a=14, b= r =7;② r=14 mod 7=0输出b。Error!21、14仅为a、b的实例之一===算法的基本概念 ===?【例1-1】求任意两个非负整数最大公约数算法分析—效率1) 穷举法: 若a、b互质,则公约数测算的取值范围为b, b-1, b-2,…,1,否则,不妨设测算至b-i时结束,那么,可能的测试次数为: 其中,pi为测算所取到值的概率。若每个取值的概率相等,则pi=1/b,由上式可得平均运算次数为:===算法的基本概念 ===【例1-1】求任意两个非负整数最大公约数算法分析—效率2) 欧几里德算法分析设ab=1,构造数列{un}:u0=a, u1=b, uk=uk-2 mod uk-1 , 其中k=2。若算法需要n次模运算, 则有,un=gcd(a, b), un+1=0(un+1=un-1 mod un)比较数列{un}和菲波那契数列{Fn}, 可得,F0=1=un, F1=1=un-1∵uk+2=uk mod uk+1 ? uk =uk+2+uk+1×m(m为商,uk+2为余数) 可得uk=uk+1+uk+2由数学归纳法容易得到uk=Fn-k,

文档评论(0)

173****0166 + 关注
实名认证
内容提供者

临床医师执业资格证持证人

医学资料整理

领域认证该用户于2023年01月12日上传了临床医师执业资格证

1亿VIP精品文档

相关文档