第8章 算法与序设计.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文档。上传文档
查看更多
例如: 1.为邮局工作人员计算邮资的小程序 w*1.5 w 10 Money 10*1.5+ w-10 *2 w 10 2.打鱼还是晒网 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。 3.对20个学生成绩进行排序。 4.资源管理器中对目录树的管理。 5.GPS中输入目的地,查找最短路径等的程序问题。 Algorithm+Data Structure=Programs 程序设计:为计算机处理问题编制一组指令集 算法:处理问题的策略 数据结构:是一堆数据元素和这些数据元素之间的关系的总和(问题的数学模型) ①线性结构 ②树形结构 ③图状结构 ④集合 2.算法 2.1 算法的定义 广义的说,为解决一个问题而采用的方法和步骤,就称为算法。 选择合适的算法 算法理论除了要设计出正确的问题求解方法外,还要考虑算法在时间和空间这两个方面的复杂度,以便用最短的时间和最小空间代价解决一个给定的问题。 2.2 算法必须满足五个重要特性 (1) 有穷性 对于任意一组合法的输入值,在执行有穷步骤之后一定能结束。即算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成。 (2)确定性 对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。表现在对算法中每一步的描述都没有二义性,只要输入相同,初始状态相同,则无论执行多少遍,所得结果都应该相同。 2.2 算法必须满足五个重要特性 (3) 可行性 算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。其指的是,序列中的每个操作都是可以简单完成的,其本身不存在算法问题 。 (4) 有输入 一个算法有零个或多个的输入。 (5) 有输出 一个算法有一个或多个的输出。 2.3 算法的表示 用自然语言表示算法 用流程图表示算法(传统流程图、N-S流程图) 用伪代码表示算法 用计算机语言表示算法 用传统流程图表示算法 例:求5! 几种算法表示比较 求5! 3.程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示 结构化程序:由三种基本结构反复嵌套构成的程序 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构 三种基本结构 三种结构的特点: 只有一个入口和出口 结构内的每一部分都有机会被执行到。 结构内不存在死循环 4.结构化程序设计的核心思想 采用顺序、选择和循环三种基本结构作为程序设计的基本单元 只有一个入口; 只有一个出口; 无死语句,即不存在永远都执行不到的语句; 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计 自顶向下、逐步求精的 结构化程序设计方法 * * 1. 程序的概念 计算机是执行程序的工具,用计算机解决任何问题都离不开程序。 概念:程序是由指令序列组成的,告诉计算机如何完成一个具体的任务。 程序是软件开发人员根据用户需求开发的、用程序设计语言描述的适合计算机执行的指令(语句)序列。 由于现在的计算机还不能理解人类的自然语言,所以还不能用自然语言编写计算机程序。 1. 程序的概念 一个程序应该包括以下两方面的内容:   1、 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。   2 、对操作的描述。即操作步骤,也就是算法(algorithm)。 1. 程序的概念 数据结构可归结为以下四类: 计算机算法分为两大类。 一类是数值算法。包括插值和拟合,线性和非线性方程的求解,常微分方程的求解,偏微分方程的求解等; 另一类是非数值算法。诸如排序,字符识别,图形、图像及声音等多媒体信息的处理等。 1)用自然语言表示算法 优点:通俗易懂 缺点:繁琐冗长、易出现歧义性,且对复杂结构的算法描述不直观清晰。 举例: 求5! S1: 1 p S2: 2 i S3: p*i p S4: i+1 i S5:若i 5, 返回s3; 否则,结束 2)用流程图表示算法 传统流程图和N-S流程图 直观、清晰。 1 传统流程图: 符号按ANSI 美国国家标准 化协会 规定。 开始/结束 处理框 输入输出 判断框 流程线 连接点 注释 开始 1 p i P*i p i+1 i i 5 结束 用流程图表示 Y N 1 p 2 i P*i p i+1 i 直到i 5 结束 用N-S流程表示 (2)N-S流程图 1973年,美国I.Nassi和B.Shneiderman提出 去掉所有流程线,所有算法写在一个矩形

文档评论(0)

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

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

1亿VIP精品文档

相关文档