- 1、本文档共118页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5计算机科学导论算法资料.ppt
* 例: 给定K值,求T=1+2+3+…+K 开始 输出 T 的值 结束 输入K T+I ?T I+1 ?I I≤K Y N 1?I,0 ?T 循环 输入K 输出 T 的值 I≤K 1?I,0 ?T T+I ?T I+1 ?I 伪代码是算法的一种类似英语的表示法。它是部分英语和部分结构化代码的组合。 英文代码部分采用不严格的语法,很容易看懂; 代码部分包含基本算法结构(顺序、选择和循环)的扩展形式。 目前还没有伪代码的标准。 3. 伪代码 伪代码描述算法的一般组成: 算法头:算法的名字。 目的、条件和返回值: 目的:有关算法要做什么的简短说明 前置条件:列出算法所有前驱条件 后置条件:指出算法产生的影响 返回值:算法返回的结果或无返回值 语句序号:表示语句之间的附属关系。 例:用伪代码描述在一数列中找最小值的算法 Algorithm (算法):Finding Smallest Purpose(目的):在一数列中找最小值 Pre(前置条件):List of numbers(数列) Post(后置条件):None Return(返回值):The smallest 3 2 4 1 6 a: S 3 2 1 算法:设数列中第一个数为最小值S,然后用后续数依次与S比较,若比S小,则用该数替换原S的值,全部比较完成后S即最小值。 1.Set smallest to the first number 2.Loop(not end of list) 2.1 if(next number smallest) 2.1.1 set smallest to next number 2.2 end if 3. end loop 4. return smallest End Finding Smallest 数列?ai(i=1,5) a1 ?S, 2? i i ≤5 Y aiS N ai ?S i+1?i 返回最小值S 1. 数列?ai ( i=1,5 ) 2. a1 ?S, 2? i 3. while(i≤5) 3.1 if(aiS ) then ai ?S endif 3.2 i+1?i end while 4. return S 伪代码不一定按上述严格的格式,且可以使用汉字,只要把算法表达清楚即可。 数列?ai(i=1,5) a1 ?S, 2? i i ≤5 Y aiS N ai ?S i+1?i 返回最小值S s=a[1]; i=2; while(i=5) { if(a[i]s ) s = a[i]; i= i+1; } return s; 数列?ai(i=1,5) a1 ?S, 2? i i ≤5 Y aiS N ai ?S i+1?i 返回最小值S 4. 计算机语言 计数 累加 值交换 求最大(小)值 四、基本算法 穷举 迭代 递推 递归 1. 穷举法 基本思想 首先根据问题的部分条件预估计出答案的范围 在预估计的答案范围内,对所有可能的情况逐一验证。 若某个情况使验证符合题目的全部条件,则该情况是本题目的一个答案。 分析: 假设a,b分别代表父亲和儿子的年龄,x年后a=2b。根据人的寿命,x取值为:1,2,…,150 问题:父亲今年30岁,儿子今年6岁,在父亲有生之年中,多少年后父亲的年龄是儿子的2倍? 算法: 1. 考察x可能的范围:x=1,2,…,150; 2. 30+x?a, 6+x?b 3. 若a=2b,则输出x。 开始 结束 输出a,b,x x+1 ?x x≤150 Y N 0 ?x a =2b Y N 30+x ?a 6+x ?b X年后,父亲和儿子的年龄 * 分析: 对5本书从1至5编号,假设a,b两个人分别借这5本书中的1本。当a=i时,表示a借了编号为i的书。则a、b的取值范围为:1 = a、b= 5 当2个人所借的书的编号不相同时(a!=b) ,就是满足题意的一种借阅方法。 问题:小明有5本新书,要借给A、B两位小朋友,若每人每次只能借一本,则可有多少种不同的借法? 算法: 1.考察a可能的范围:a=1,2,3,4,5; 2.考察b可能的范围:b=1,2,3,4,5; 3.验证a,b的所有取值,若a!=b,则输出a,b。 开始 结束 a+1 ?a a≤5 Y N 1?a 输出a,b b+1 ?b b≤5 Y N 1 ?b a ?b Y N a=1: b=1 不输出
您可能关注的文档
- 5授课—老年冠心病和老年综合评估资料.ppt
- 5支气管哮喘资料.ppt
- 5教学策略设计资料.ppt
- 5敬业与乐业.资料.ppt
- 5整流与变换设备资料.ppt
- 5文化创新的源泉和作用资料.ppt
- 5新存款货币银行资料.ppt
- 5方差分析(ANOVA)资料.ppt
- 5施工图预算的编制资料.ppt
- 第九章植物脱毒技术宜职院精要.ppt
- 中国眼科手术刀行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国集装箱产业链发展分析及布局规划与招商策略研究报告.docx
- 中国感速康胶囊行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国木相框行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国管加工托辊链行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2024-2025学年人教版九年级上册数学期末测试综合测试题.pdf
- 中国十八酸乙酯行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国空白盖板行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国像章行业市场发展前景及发展趋势与投资战略研究报告.docx
- 中国机械导线压线钳行业市场发展前景及发展趋势与投资战略研究报告.docx
文档评论(0)