0
点赞
收藏
分享

微信扫一扫

第二章 算法与程序设计基础

程序=算法+数据结构

程序+算法+数据结构+程序设计方法+语言工具+环境

算法

算法概念

算法=解决问题的确定的方法+有限的步骤

算法是对特定问题求解步骤的一种逻辑描述,是规则的有限集合

算法分类

数值运算算法

对数字的求解

非数值运算算法

如信息检索,事务管理,数据处理

算法特征

  • 有穷性——》操作步骤有限,会结束操作
  • 确定性——》每一步满足具体条件要求,且能产生满足规格要求的结果
  • 可行性/有效性——》每一步都可以操作,且得到确定的结果
  • 有零个或多个输入——》可以没有输入
  • 有一个或多个输出——》算法的目的是输出,没有输出的算法无意义

算法的表示方法

自然语言

流程图

第二章  算法与程序设计基础_算法+数据结构

三种基本程序结构
顺序结构

第二章  算法与程序设计基础_算法+数据结构_02

选择结构(也叫分支结构)

第二章  算法与程序设计基础_递归_03



循环结构(也叫重复结构)
  • 当型循环(先判断后执行)

当满足条件时就执行循环体,否则不执行。

第二章  算法与程序设计基础_程序设计方法_04

  • 直到型循环

先执行循环体直到满足条件时结束

第二章  算法与程序设计基础_算法+数据结构_05

第二章  算法与程序设计基础_递归_06

N-S流程图

无流程线,只有一个出口和入口,上下顺序就是执行时的顺序

第二章  算法与程序设计基础_程序设计方法_07

程序设计典型算法

穷举法(也叫枚举法)

对所提出的问题例举所有可能的情况,并逐一验证

递推法

利用新旧值间的关系,在旧值的基础上推出新值,如此反复直到推算出所需结果。

递归法

将复杂问题逐层分解为简单问题,并对简单问题进行求解,最后再沿着分解的逆过程进行综合。

递归过程必须有一个递归终止的条件(即递归出口)

:递推:  初始条件——》所需结果

       递归:  过程本身——》递归边界

结构化程序设计方法

特点

结构清晰,可读性强,模块化,提高开发效率

步骤

  1. 分析问题,建立数学模型
  2. 确定数据结构
  3. 确定算法,描述算法
  4. 编制程序,调试程序
  5. 运行结果

原则

  1. 自上而下,先整体后细节
  2. 逐步求精
  3. 模块化,分解复杂问题
  4. 限制使用goto语句


举报

相关推荐

0 条评论