算法概念
什么是算法?
算法是求解问题的一系列计算步骤,用来将输入数据转换成输出结果
如果一个算法对其每一个输入实例,都能输出正确的结果并停止,则称它是正确的
算法的5个重要特征(特性)
- 有限性
指算法必须能在执行有限个步骤之后终止- 确定性
每一步骤必须有确切的定义- 可行性
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步
即每个计算步都可以在有限时间内完成- 输入性
一个算法有0个或多个输入,以刻画运算对象的初始情况
所谓0个输入是指算法本身定出了初始条件- 输出性
一个算法有一个或多个输出,以反映对输入数据加工后的结果
没有输出的算法是毫无意义的
算法描述
- 自然语言
- 流程图
- 盒图
- PAD图
- 伪代码
- 程序设计语言
- 通常用 函数的返回值 表示算法能否正确执行
- 有时当算法只有一个返回值或者返回值可以区分算法是否正确执行时,用函数返回来表示算法的执行结果,另外还可以带有 形参表示算法的输入输出
算法与数据结构
- 联系:
数据结构是算法设计的基础。
算法的操作对象是数据结构,在设计算法时,通常要构建适合这种算法的数据结构。
数据结构设计主要是选择数据的存储方式,如确定求解问题中的数据采用数组存储还是采用链表存储等。
算法设计就是在选定的存储结构上设计一个满足要求的好算法。- 区别:
数据结构关注的是数据的逻辑结构、存储结构以及基本操作,而算法更多的是关注如何在数据结构的基础上解决实际问题。
算法是编程思想,数据结构则是这些思想的逻辑基础。
算法设计的基本步骤
算法分析的评价体系