- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件基础数据结构之算法.ppt
第二章 算法 2.1 算法的两要素 2.2 算法的特征 2.3 算法的表示 2.4 常用算法 2.5 算法的设计要求 2.6 算法的复杂度分析 解决问题一般步骤 实际问题--〉模型--〉算法--〉程序--〉结果 解决问题的核心 -- 算法以及算法的处理对象 -- 数据的结构 程序与算法 何谓算法: 解题过程的准确、完整的描述称作解该问题的算法 何谓程序:就是用计算机语言表述的算法 流程图就是图形化了的算法 程序=算法+数据结构 2.1 算法的两要素 算法由对数据对象的运算和操作与算法的控制结构两要素组成 1.算法中对数据的运算和操作 (1) 逻辑运算: “与”、“或”、“非”; (2) 算术运算: 加、减、乘、除; (3) 数据比较: 大于、小于、等于、不等于; (4) 数据传送: 输入、输出、赋值。 2. 控制结构 算法的控制结构,决定了各操作的执行次序。用流程图 可以形象地表示出算法的控制结构 任何复杂的算法都可以用顺序、选择、循环三种控制结构组合而成 2. 2 算法的基本特征 算法是由一套计算规则组成的一个过程 1.确定性 算法中每一个指令须有明确的含义,不能有二义性 2.可行性 算法中描述的操作都可实现,执行结果能达到预期目标 3.输 出 每种算法必须有确定的结果,产生一个或多个输出 4.输 ?入 每个算法必须有0个(自动生成初始数)或多个输入 5.有穷性 解答必须在有限步内得到,不能出现“死循环” 我们可以得出如下的结论:算法是一个过程,这个过程由一套明确的规则组成,这些规则指定了一个操作的顺序,以便用有限的步骤提供特定类型问题的解答。 2. 3 算法的表示 算法设计一般是由粗到细的过程,一般可以使用下面几种类型的工具描述算法: 1.自然语言 自然语言描述算法通俗易懂,但它有着难以克服的缺陷: (1) 易产生歧义性 (2) 语句繁琐冗长,很难清楚地表达算法的逻辑流程 (3) 当今的计算机尚不能处理用自然语言表示的算法 2.专用工具 常用的有流程图、问题分析(PAD)和NS盒图、伪代码等。 3.算法描述语言 为了便于转换成某种编程语言,一般采用准程序设计语言作算法描述语言。例如,类C语言继续 流程图 是采用不同的几何图形来描述算法的逻辑结构,每个几何图形表示不同性质的操作 1.枚举法(穷举法)(常用) 基本思想是: 先依据题目的部分条件确定答案的大致范围 在此范围内对所有可能的情况逐一验证,直到全部情况验证完 若某个情况使验证符合题目的条件,则为本题的一个答案;若全部情况验证完后均不符合题目的条件,则问题无解 例:百元买百鸡: 公鸡5元、母鸡3元、小鸡1元 2.迭代法 使一个复杂问题的求解过程转化为相对简单的迭代算式的重复执行过程。 基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系。 基本方法: 首先确定一个合适的迭代公式,选取一个初始近似值以及解的误差 然后用循环处理实现迭代过程,终止循环过程的条件是前后两次得到的近似值之差的绝对值小于或等于预先给定的误差 并认为最后一次迭代得到的近似值为问题的解。 例:数值计算方法 3.递归法 基本思想:将复杂问题逐层分解,最后归结为一些简单的问题。 如果一个过程直接或间接地调用它自身,则称该过程是递归的 例:输出自然数1到n。 #include “stdio.h” Wrt1(int n) {if (n!=0) {wrt1(n-1);printf(“%d\n”,n);} return:; } 4.递推法 基本思想:从已知的初始条件出发,逐次推出所要求的中间结果和最后结果。(本质上属归纳法) 所谓递推法,它的数学公式也是递归的。只是在实现计算时与递归相反。从给定边界出发逐步迭代到达指定计算参数。 例:求阶乘 f(n)=n! =n×(n-1)! =n×f(n-1) 要计算10!,可以从递推初始条件f(0)=1出发,应用递推公式f(n)=n×f(n-1)逐步求出f(1)、f(2)…、f(9)、最后求出f(10)的值 递推操作是提高递归函数执行效率最有效的方法,科技计算中最常见 5.分治法 解一个复杂的问题时,尽可能地把这个问题分解为较小部分,找出各个的解,然后再把各部分的解组合成整个问题的解,这就是所谓的分治法 分治法的基本步骤 1.分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; 2.解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题; 3.合并:将各个子问题的解合并为原问题的解。 常用于:人工智能、查找、检索 例:将无序的N个元素按递增次序排序(P79) 6
您可能关注的文档
最近下载
- 第5课《一着惊海天》课件(共38张ppt)2025—2026学年统编版语文八年级上册.pptx VIP
- 中国煤炭地下气化现场试验探索历程与前景展望.pdf VIP
- (热门!)SMETA劳动力供应链地图-SEDEX验厂专用文件(可编辑).pdf VIP
- 2025年8月广东深圳市光明区建筑工务署招聘一般专干、特聘专干3人笔试参考题库附答案解析.docx VIP
- 《品质》2014.ppt VIP
- 高校后勤服务管理概述.docx VIP
- 随机过程习题五答案.pdf VIP
- 党员发展工作细则试题和答案.doc VIP
- (完整word版)朗文版小学英语5A各单元知识点汇总-推荐文档.doc VIP
- 正式发布- GBT 5750-2023《生活饮用水标准检验方法》系列标准.docx VIP
文档评论(0)