- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的算法策略-read
第四章 基本的算法策略 4.1 迭代算法 4.2 蛮力算法 4.3 分而治之算法 4.4 贪婪算法 4.5 动态规划 4.6 算法策略间的比较 4.1 迭代算法 4.1.1 递推法 4.1.2 倒推法 4.1.3 迭代法解方程 4.1.1 递推法 【例1】兔子繁殖问题 问题描述:一对兔子从出生后第三个月开始,每月生一对小兔子。小兔子到第三个月又开始生下一代小兔子。假若兔子只生不死,一月份抱来一对刚出生的小兔子,问一年中每个月各有多少只兔子。 问题分析:因一对兔子从出生后第三个月开始每月生一对小兔子,则每月新下小兔子的对儿数(用斜体数字表示)显然由前两个月的小兔子的对儿数决定。则繁殖过程如下: 一月 二月 三月 四月 五月 六月 …… 1 1 1+1=2 2+1=3 3+2=5 5+3=8 …… 算法1: main( ) { int i,a=1,b=1; print(a,b); for(i=1;i<=10;i++) { c=a+b; print (c); a=b; b=c; } } 算法2: 表4-1 递推迭代表达式 1 2 3 4 5 6 7 8 9 a b c=a+b a=b+c b=a+c c=a+b a=b+c b=a+c …… 由此归纳出可以用“c=a+b; a=b+c; b=c+a;”做循环“不变式”。 算法2如下: main( ) { int i,a=1,b=1; print(a,b); for(i=1; i<=4;i++) { c=a+b; a=b+c; b=c+a; print(a,b,c); } } 表4-2 递推迭代表达式 1 2 3 4 5 6 7 8 9 a b a=a+b b=a+b a=a+b b=a+b …… ? ?由此归纳出可以用“a=a+b; b=a+b;”做循环“不变式”,从而得到以下算法3: main( ) { int i,a=1,b=1; print(a,b); for(i=1; i<=5;i++) { a=a+b; b=a+b; print(a,b); } } 【例2】求两个整数的最大公约数。 数学建模:辗转相除法是根据递推策略设计的。 不妨设两个整数ab且a除以b商x余c;则a-bx=c,不难看出a、b的最大公约数也是c的约数(一个数能整除等式左边就一定能整除等式的右边),则a、b的最大公约数与b、c的最大公约数相同。同样方法推出b、c的最大公约数与……,直到余数为0时,除数即为所求的最大公约数。 算法设计:循环“不变式”第一次是求a、b相除的余数c,第二次还是求“a”“b” 相除的余数,经a=b,b=c操作,就实现了第二次还是求“a”“b” 相除的余数,这就找到了循环不变式。循环在余数c为0时结束。 4.1.2 倒推法 【例2】 输出如图4-1的杨辉三角形(限定用一个一维数组完成)。 数学模型:上下层规律较明显,中间的数等于上行左上、右上两数之和。 问题分析:题目中要求用一个一维数组即完成。数组空间一定是由下标从小到大利用的,这样其实杨辉三角形是按下图4-2形式存储的。若求n层,则数组最多存储n个数据。 算法如下: main( ) {int n,i,j,a[100]; input(n); print(“1”); print(“换行符”); a[1]=a[2]=1; print(a[1],a[2]); print(“换行符”); for (i=3;i=n;i=i+1) {a[1]=a[i]=1; for (j=i-1,j1,j=j-1) a[j]=a[j]+a[j-1]; for (j=1;j=i;j=j+1) print(a[j]); print(“换行符”); } } 【例3】穿越沙漠问题 用一辆吉普车穿越1000公里的沙漠。吉普车的总装油量为500加仑,耗油率为1加仑/公里。由于沙漠中没有油库,必须先用这辆车在沙漠中建立临时油库。该吉普车以最少的耗油量穿越沙漠,应在什么地方建油库,以及各处的贮油量。 A城雇用一人与探险家同带3天食物同行一天,然后被雇 人带一天食物返回,并留一天食物给探险家,
您可能关注的文档
- 卵巢上皮性癌组织中结肠癌转移相关基因1的表达及其临床意义-tumor.pdf
- 压力容器修理基础知识-中国气体分离设备商务网.doc
- 压强1压强预习展示资料编号9.doc
- 压扭作用下混凝土异形柱的抗扭性能-中南大学学报.pdf
- 原则指导下大学英语课堂教学改革石家庄铁道大学外语系荣高悦宋迎.ppt
- 原北京有色冶金设计研究总院-中国索道协会.doc
- 去除空肠浆膜层的胰肠黏膜-黏膜3层吻合法在胰十二指肠切除术胰肠.pdf
- 参数化风景园林规划设计技术与应用-东南大学.doc
- 参与亚洲志愿服务协会年会提案企画-外交部ngo双语网.doc
- 及法学位arizonastateuniversity亚利桑那州立大学.ppt
- 基础教育课程改革的国际和国内背景-教育部全国中小学教师继续教育网.ppt
- 基隆八斗国小新住民台语研习班-jweb基隆教育网路中心-个人.doc
- 基自由基活性氧氧自由机的概念-中山医学大学医学研究所.ppt
- 堪称汽车改装及售后服务业界之广交会展览时间2015年1月118日.doc
- 增值税纳税申报-青岛国家税务局.ppt
- 增长机器与辉煌景观——从隐喻的角度反思中国城发展-日中社会学会.pdf
- 增长曲线模型回归系数线性估计的可容许性-应用数学学报.pdf
- 多判据融合小电流单相接地故障选线方法研究与试验.pdf
- 大中里项目安全管理讲座-宁夏平安安全在线教育平台.ppt
- 大一英文阅读与写作—跨文化语言教室-大一英文阅读与写作english.ppt
文档评论(0)