网站大量收购闲置独家精品文档,联系QQ:2885784924

第七讲算法.ppt

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

计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 4.4 基本算法 – 迭代与递归 * 北京大学 * 一个关于递归的故事 一个没有去过北京的人问:天安门是什么样子?去过北京的人答道:天安门有个城楼,城楼上有个国徽,国徽里有个天安门,天安门有个城楼,城楼上有个国徽,国徽里有个天安门, …… * 北京大学 * 小结 算法的概念 描述算法的三种基本结构 顺序结构、分支结构、循环结构 算法的流程图表示与算法的程序实现 闰年判断 基本算法介绍 迭代计算:求平方根 排序:选择排序、冒泡排序 二分查找 迭代与递归 * 北京大学 * 书面作业 用程序流程图描述以下算法: 输入正整数n,输出n! 输入大于0的整数n,输出裴波那契数列 的第n个数值 裴波那契数列的定义为: F(0)=0; F(1)=1;F(n)=F(n-1)+F(n-2) 交作业的方式为将答案写在word文件中,作为邮件的附件发给本班辅导老师。 3周内交(12.4号前交) 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 策略二:吃饱为止 是否已饱? 是 否 有人知道饱不饱,但有人不知道! 开始 要吃汤包的人不到5岁吗? 是 选用策略1 选用策略2 否 结束 分类定量控制 开始 要吃汤包的人不到5岁吗? 否 参数设为2 是 结束 要吃汤包的人不到60岁吗? 参数设为8 是 参数设为4 否 选用策略1(带参数) * 北京大学 * 3 用流程图表示算法 判断闰年 能被4整除且不能被100整除; 能被400整除 * 北京大学 * 3 流程图表示算法 判断闰年 能被4整除且不能被100整除; 能被400整除 用C语言实现算法 * 北京大学 * 4.1基本算法 – 日期判断 问题:给定年月日,判断该日是这年的第几天。 求解 按月累加天数 区分大、小月 区分闰年、平年 初始化:total=0, i=1 开始 total = total + 31 i month? N 结束 Y i = i+1 输入:year, month, day i是大月? i是小月? total = total + 30 Y N Y N year是闰年? total = total + 29 total = total + 28 total = total + day 输出:total 4.1基本算法 – 日期判断(C语言实现) * 北京大学 * int year, month, day, total, i; scanf(“%d%d%d”, year, month, day); total = 0; for( i=1; imonth; i++) { if ( i ==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12) { total = total +31; } if ( i ==4 || i==6 || i==9 || i==11) { total = total +30; } if ( i ==2) { if( (year%4==0year%100!=0) || year%400==0 ) total = total +29; else total = total +28; } } total = total + day; * 北京大学 * 4.1基本算法 - 求平方根 求一个数的平方根: x = 迭代公式 x1 = 1 xn+1 = (xn + a/xn)/2 迭代计算,直到 xn+1 – xn 的绝对值小于误差要求,例如小于0.00001,即保留小数点后5位。 开始 初始化:x2=1 x1 = x2 x2 = (x1 + a/x1)/2 x2-x1的绝对值 小于0.00001? N 结束 Y 输出x2 输入数a * 北京大学 * 4.1基本算法 - 求平方根(C语言实现) * 北京大学 * 4.1基本算法 – 素数判定 与 歌德巴赫

文档评论(0)

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

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

1亿VIP精品文档

相关文档