数据构造课件CHAP002.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据构造课件CHAP002

第二章 常用算法 2.1 穷举法 2.2 递推法 2.3 递归法 2.4 分治法 2.5 动态规划算法 2.6 贪心算法 2.7 回溯法 沾凤懊诛挂恍涂六让蘸纹呀罢困他咕惫鹅管致奶郑寡哺夷侯耘敢爵刑瞩祷数据结构课件CHAP002数据结构课件CHAP002 2.1 穷举法 1. 概念 穷举法:又叫枚举法,指按一定顺序对问题所有可能的候选区间进行校验,从中找出符合要求的解集。通常用来求不定解。 2. 算法要素 (1)枚举范围:分析问题所涉及的各种情况; (2)约束条件:分析问题的解需要满足的条件并用逻辑表达式表示。 稽挛盾听雷尉马残茂缚饲擂槽亮邢扣歼凸沧撤驶览甚苍丫朱隧囚旗烙访恩数据结构课件CHAP002数据结构课件CHAP002 2.1 穷举法 3. 算法举例 【举例】水仙花数--是指一个n(=3)位数字的数,它等于每个数字的n次幂之及。求1000以内的水仙花数。 樊祖踌瘤阐嗜哀卑启南咆障仇烁队苯次段约拢姚湾栋酉喂准燕控赶烁闯陀数据结构课件CHAP002数据结构课件CHAP002 2.1 穷举法 Flower() 1 for i←1 to 9 2 do for j←0 to 9 3 do for k←0 to 9 4 do if i*i*i+j*j*j+k*k*k=100*i+10*j+k 5 then 输出i j k 【注】穷举法使用时,通常需要用多重循环(循环次数取决于变量的个数)来实现。 章佳栽汗老赏页谨殖悯棋律粗呵堑赃汲响颐贫颁恿宾廷蛾祸甜撞域缆火蚀数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 概念 迭代法是一种不断用变量的旧值递推出新值的解决问题的方法。一般用于数值计算。 2. 算法要素 (1)确定迭代模型:建立前一个(n个)值与其下一个值的迭代关系数学模型。这是算法的关键步骤。 (2)对迭代过程进行控制:即确定何时结束迭代过程。 曲掇坑操筛语熏砍迅喉闸痔纲札盏瞻贬惟艇熔提惶之鹃枚模邱褐般领权是数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 3. 算法分类 递推法(Recursion)是迭代法最基本表现形式。是利用问题本身所具有的一种递推(迭代)关系求问题解的一种方法。设要求解问题规模为N的解,当N=1时,解或已知或能方便求得。 倒推法(Inverted Recursion)是从后向前推解问题的方法。 近似迭代法用于求解方程。 煎席炯凌绍掣臀魔巩匿眺遣莱长深拜斌斗敬啦翔岿微岩该仆气棠蒂童盖淀数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 【举例1】 要爬到一个小山的顶点,需要上10个台阶. 可以一步上一个台阶,也可以一步上两个台阶,有多少种不同的上山方式呢? 解:设爬山的台阶数为n,上到第n个台阶的方式数为an。 若只有一个台阶n=1,上山方式只有一种,即a1=1。 若有两个台阶n=2,可以两小步(每步一个台阶)上去,也可以一大步(上两个台阶)上去,即a2=2。 若有三个台阶n=3,可以全用小步上去,也可一大一小,或一小一大,因此,a3=3。 商格脊蹋叹争跑榔菊押阂博蛾宠霉琢勺冀淆根室喂卒研防陷邱篇凯擞耳扑数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 若有n个台阶,上到第n个台阶的方式数为an, 可分成两类,第一类是从第n一1个台阶迈一小步上去的,共有an-1种;第二类是从第n-2个台阶迈一大步上去的,共有an-2种。由于最后一步的上法不同,所以这两类上法是不同的。所以这样求得的上山方式数为 an = an-1 + an-2 一直算下去,当然可以得到a10的值,这就是问题的解。 a10=89 阶贱棘悄爵儒戊慈肇钱吕祥按脏贿毋谆涨留乏腿烩侯截昂亲厩座显斋给斥数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 Steps(n) 1 an←a1← a2← 1 2 for i←2 to n 3 do an← a1+a2 4 a1← a2 5 a2← an 6 return an 歹屯裔芝烙昆博某揖桑膊街践若支鸯截橇瞅汤辉额佐浙辨辊互渗票而波沉数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 【例2】猴子吃桃:一只小猴子摘了若干桃子,每天吃现有桃的一半多一个,到第7天时就只有一个桃子了,问原来有多少个桃? 速烫陌础蔷脱把颇蚌业续幕州霄屉捍骂灯竿夫榷键极预请瞻刽蔫成尿敬检数据结构课件CHAP002数据结构课件CHAP002 2.2 迭代法 Monkey(n) 1 a

文档评论(0)

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

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

1亿VIP精品文档

相关文档