Ch2 算法知识讲稿.pptVIP

  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文档。上传文档
查看更多
Ch2 算法知识讲稿.ppt

第2章 程序的灵魂--算法 西南大学 计算机与信息科学学院 C 程序设计 本章主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 程序设计 用计算机解决一个实际应用问题时的整个处理过程称为程序设计 提出 问题 确定数据结构 确定算法 编写 程序 调试和运行程序 输入 程序 翻译 (编译或解释) 得到 运行结果 什么是程序? 著名的计算机科学家沃思提出: 数据结构+算法=程序 描述数据类型, 组织形式 描述对数据的 操作步骤 算法是计算机为求解某一问题而采用的方法,步骤. 算法的概念 例如:读入三个数,找出并打印其中的最大数 算法: ①???? 输入X1,X2,X3 ②???? 将X1与X2的大数存于MAX中 ③???? 将X3与MAX的大数存于MAX中 ④???? 输出MAX 算法补充 将学生百分成绩按分数段分级的程序(假设学生成绩分布是均匀的)。 该算法的核心部分是对输入的每一个数进行比较判断,以确定属于的级别。算法描述如下: a60 a70 a80 a90 不及格 中等 良好 优秀 及格 Y N Y N Y N Y N 转S3 转S3 转S3 转S3 转S3 S3: i+1 ?i S4:如果i ? 10000, 返回S2; 否则,算法结束。 S1:1?i S2: 输入10000个数据,需要进行多少次比较操作? 假若学生成绩分布不是均匀的,考虑到算法性能,需改进如下: 分数 0—59 60—69 70—79 80—89 90—99 比例 0.05 0.15 0.4 0.3 0.10 不及格 Y a90 a80 a70 a60 优秀 中等 及格 良好 Y N N N Y Y Y 将步骤S2修改如下,其余步骤不变: 输入10000个数据,仅需进行22000次比较。 转S3 转S3 转S3 转S3 转S3 算法的特性 a)有穷性。一个算法应包含有限个操作步骤,而不能是无限的。 b)确定性。算法的每一步都应当是明确无误的,不能含义模糊,使执行者无所适从。 c)有零个或多个输入 d)有一个或多个输出 e)有效性。算法中的每一步都应该能有效的执行,执行算法最后应该能得到确定的结果。 用自然语言描述算法 第一步:输入x和y的值 第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。 易于理解,但冗长,不够精确,难于描述复杂算法。 例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解 用流程图描述算法 流程图是用一些图框表示各种操作的流程过程。它有着直观形象、易于理解的特点。美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号。 图1.5 用流程图描述算法 用流程图描述算法 N Y z= y z= x x y ? 开始 输入x和y 结束 输出z 起止框 输入/输出框 判断框 处理框 流程线 传统流程图的弊端 传统流程图的弊端 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。 这种算法难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。 三种基本结构 1966年,Bohra和Jacopini提出了以下三种基本结构,作为表示一个良好算法的基本单元。 顺序结构 选择结构 循环结构 A B P 循环体A P A B B 顺序结构 选择结构 循环结构 不成立 成立 成立 不成立 当型(While型)循环结构 它的功能是当给定的条件p1成立时,执行A框操作,执行完A后,再判断条件p1是否成立执行A ,如果仍然成立,再执行A框,如此反复框,直到某一次p1条件不成立为止,此时不执行A框,而从b点脱离循环结构。 直到型(Until型)循环 它的功能是先执行A框,然后判断给定的p2条件是否成立,如果p2条件不成立,则再执行A,然后再对p2条件作判断,如果p2条件仍然不成立,又执行A……如此反复执行A,直到给定的p2条件成立为止,此时不再执行A,从b点脱离本循环结构。 当型循环、直到型循环的应用例子 打印5个数:1,2,3,4,5。 三种基本结构的特点 以上三种基本结构,有以下共同特点: (1) 只有一个入口。 (2) 只有一个出口。 (3) 结构内的每一部分都有机会被执行到。 (4) 结构内不存在“死循环”(无终止的循环)。 已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。 扩展的结构 用N-S流程图描

文档评论(0)

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

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

1亿VIP精品文档

相关文档