第一章 算法概述
什么是算法
算法(Algorithm):是对特定问题求解步骤的一种描述,是指令的有限序列。
算法的五个重要特性
输入:一个算法有零个或多个输入。
输出:一个算法有一个或多个输出。
有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中的每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
一个算法的优劣可以用时间复杂性和空间复杂性来衡量
算法和程序的关系
程序是使用某种程序设计语言对算法的具体实现,是对算法的精确描述,可在计算机上运行。
程序可以是无穷的,而算法必须是有穷的。
程序设计的核心是算法。
常用的描述算法的方法
自然语言
流程图
程序设计语言
伪代码等