当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

武汉理工大学:《软件技术基础》第2章 算法(阮幼林)

资源类别:文库,文档格式:PPT,文档页数:20,文件大小:174.5KB,团购合买
2.1 算法的两要素 2.2 算法的特征 2.3 算法的表示 2.4 常用算法 2.5 算法的设计要求 2.6 算法的复杂度分析
点击下载完整版文档(PPT)

第二章算法 2.1算法的两要素 2.2算法的特征 2.3算法的表示 2.4常用算法 2.5算法的设计要求 2.6算法的复杂度分析

第二章 算法 2.1 算法的两要素 2.2 算法的特征 2.3 算法的表示 2.4 常用算法 2.5 算法的设计要求 2.6 算法的复杂度分析

解决问题一般步骡 实际问题-〉模型-〉算法-〉程序〉结果 解决问题的核心 算法以及算法的处理对象 数据的结构

解决问题一般步骤 实际问题--〉模型--〉算法--〉程序--〉结果 解决问题的核心 -- 算法以及算法的处理对象 -- 数据的结构

程序与算法 何谓算法: 解题过程的准确、完整的描述称作解该问题的 算法 何谓程序:就是用计算机语言表述的算法 口流程图就是图形化了的算法 程序=算法+数据结构

程序与算法 何谓算法: 解题过程的准确、完整的描述称作解该问题的 算法 何谓程序:就是用计算机语言表述的算法 流程图就是图形化了的算法 程序=算法+数据结构

2.1算法的两要素 算法由对数据对象的运算和操作与算法的控制结构 两要素组成 1.算法中对数据的运算和操作 (1)逻辑运算:“与”、“或”、“非”; (2)算术运算:加、减、乘、除; (3)数据比较:大于、小于、等于、不等于; (4)数据传送:输入、输出、赋值

2.1 算法的两要素 算法由对数据对象的运算和操作与算法的控制结构 两要素组成 1.算法中对数据的运算和操作 (1) 逻辑运算: “与”、“或”、“非”; (2) 算术运算: 加、减、乘、除; (3) 数据比较: 大于、小于、等于、不等于; (4) 数据传送: 输入、输出、赋值

2控制结构 算法的控制结构,决定了各操作的执行次序。用 流程图可以形象地表示出算法的控制结构 任何复杂的算法都可以用顺序、选择、循环三种 控制结构组合而成 S1 F S2 S1 S2 B S3 (d)

2. 控制结构 算法的控制结构,决定了各操作的执行次序。用 流程图 可以形象地表示出算法的控制结构 任何复杂的算法都可以用顺序、选择、循环三种 控制结构组合而成 S 1 S 2 B S 1 S 2 B S (a) (b) (c) S 3 F T B F T (d) S

2.2算法的基本特征 算法是由一套计算规则组成的一个过程 1.确定性算法中每一个指令须有明确的含义,不能有二义性 2.可行性算法中描述的操作都可实现执行结果能达到预期目标 3.输出每种算法必须有确定的结果,产生一个或多个输出 4.输入每个算法必须有0个(自动生成初始数)或多个输入 5.有穷性解答必须在有限步内得到,不能出现“死循环” 我们可以得出如下的结论:算法是一个过程,这个过程由一套明 确的规则组成,这些规则指定了一个操作的顺序,以便用有限 的步骤提供特定类型问题的解答

2. 2 算法的基本特征 算法是由一套计算规则组成的一个过程 1.确定性 算法中每一个指令须有明确的含义,不能有二义性 2.可行性 算法中描述的操作都可实现,执行结果能达到预期目标 3.输 出 每种算法必须有确定的结果,产生一个或多个输出 4.输 入 每个算法必须有0个(自动生成初始数)或多个输入 5.有穷性 解答必须在有限步内得到,不能出现“死循环” 我们可以得出如下的结论:算法是一个过程,这个过程由一套明 确的规则组成,这些规则指定了一个操作的顺序,以便用有限 的步骤提供特定类型问题的解答

2.3算法的表示 算法设计一般是由粗到细的过程,一般可以使用下面 几种类型的工具描述算法: 1.自然语言 自然语言描述算法通俗易懂,但它有着难以克服的缺陷: (1)易产生歧义性 (2)语句繁琐冗长,很难清楚地表达算法的逻辑流程 (3)当今的计算机尚不能处理用自然语言表示的算法 2.专用工具 常用的有流程图、问题分析(PAD)和NS盒图、伪代码等。 3.算法描述语言 为了便于转换成某种编程语言,一般采用准程序设计语 言作算法描述语言。例如,类C语言继续

2. 3 算法的表示 算法设计一般是由粗到细的过程,一般可以使用下面 几种类型的工具描述算法: 1.自然语言 自然语言描述算法通俗易懂,但它有着难以克服的缺陷: (1) 易产生歧义性 (2) 语句繁琐冗长,很难清楚地表达算法的逻辑流程 (3) 当今的计算机尚不能处理用自然语言表示的算法 2.专用工具 常用的有流程图、问题分析(PAD)和NS盒图、伪代码等。 3.算法描述语言 为了便于转换成某种编程语言,一般采用准程序设计语 言作算法描述语言。例如,类C语言继续

流程图是采用不同的几何图形来描述算法的逻辑结 构,每个几何图形表示不同性质的操作 常用流程图符号: 开始 输入a,b N>10 true 结束 fa (a)起止框、连接框 (b)输入输出框 (c)判断框 N为正整数 (d)处理框 (e)注释框 (f)流向线 返回

流程图 是采用不同的几何图形来描述算法的逻辑结 构,每个几何图形表示不同性质的操作 开始 结束 (a) 起止框、连接框 (b) 输入输出框 A A 输入a,b N>10 (c) 判断框 true false (d) 处理框 i+1→i (e) 注释框 (f) 流向线 N为正整数 常用流程图符号: 返回

2.4常用算法 1.枚举法(穷举法)(常用) 基本思想是: 先依据题目的部分条件确定答案的大致范围 在此范围内对所有可能的情况逐一验证,直到全部 情况验证完 若某个情况使验证符合题目的条件,则为本题的 个答案;若全部情况验证完后均不符合题目的条件, 则问题无解 例:百元买百鸡:公鸡5元、母鸡3元、小鸡1元

1.枚举法(穷举法)(常用) 基本思想是: 先依据题目的部分条件确定答案的大致范围 在此范围内对所有可能的情况逐一验证,直到全部 情况验证完 若某个情况使验证符合题目的条件,则为本题的一 个答案;若全部情况验证完后均不符合题目的条件, 则问题无解 例:百元买百鸡: 公鸡5元、母鸡3元、小鸡1元 2. 4 常用算法

2.迭代法 使一个复杂问题的求解过程转化为相对简单的迭代 算式的重复执行过程。 基本思想:通过列举少量的特殊情况,经过分析, 最后找出一般的关系。 基本方法: 首先确定一个合适的迭代公式,选取一个初始近似值以 及解的误差 然后用循环处理实现迭代过程,终止循环过程的条件是 前后两次得到的近似值之差的绝对值小于或等于预先给 定的误差 并认为最后一次迭代得到的近似值为问题的解。 例:数值计算方法

2.迭代法 使一个复杂问题的求解过程转化为相对简单的迭代 算式的重复执行过程。 基本思想:通过列举少量的特殊情况,经过分析, 最后找出一般的关系。 基本方法: 首先确定一个合适的迭代公式,选取一个初始近似值以 及解的误差 然后用循环处理实现迭代过程,终止循环过程的条件是 前后两次得到的近似值之差的绝对值小于或等于预先给 定的误差 并认为最后一次迭代得到的近似值为问题的解。 例:数值计算方法

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共20页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有