algorithm,来自于波斯人“花拉子米”。意思为“计算的方法”

1747 德国 《数学大全词典》对算法的定义:

该词接合了 加减乘除 四则算术运算的概念

最经典的算法为:辗转相除法

ref: 《TAOCP》 第一章

特征

  • 有限性:必须在有限的步骤哪终止
  • 确定性:每一步必须精确定义
  • 输入:算法的初始值
  • 输出:算法的最终结果
  • 可行性:所有的计算必须足够基本,有限时间内可执行,利用纸笔即可计算

形式定义

  • Q:计算状态
  • I:输入
  • 输出
  • f 计算规则

  • 输出在计算规则下得到自身

进一步理解

集合论视角:所有的算法可以用集合论表示

模式匹配视角:所有的算法,例如“加减乘除”都可以用字符串的模式匹配来等效,这也是现代计算机使用“内存”来存储计算的本质

相关算法

图搜索算法:

经典算法: