Algorithm Basic Concepts
算法的基本概念
定义
算法是对特定问题求解步骤的一种描述,是指令的有限序列,其中每条指令表示一个或多个操作。
程序可以理解为:数据结构 + 算法。数据结构负责把现实问题中的信息组织到计算机中,算法负责高效处理这些信息以解决问题。
算法必须具备的特性
- 有穷性:算法必须在执行有穷步后结束,且每一步都在有穷时间内完成。算法必须有穷,程序可以长期运行。
- 确定性:每条指令含义明确;相同输入只能得到相同输出。
- 可行性:算法中的操作都能通过已经实现的基本运算执行有限次完成。
- 输入:一个算法有零个或多个输入。
- 输出:一个算法有一个或多个输出。
好算法追求的目标
- 正确性:能正确解决问题。
- 可读性:便于人理解、检查和维护。
- 健壮性:遇到非法输入时能适当处理,而不是产生无意义结果。
- 高效率与低存储量需求:时间复杂度和空间复杂度尽量低。
描述方式
算法可以用自然语言、伪代码、程序代码、流程图等方式描述。关键不是形式,而是步骤必须无歧义,并能在有限步骤内完成。
关联
评价算法时,先确认它满足算法的基本特性,再看正确性、可读性、健壮性、时间效率和空间需求。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Elian's blog page!