algorithm,来自于波斯人“花拉子米”。意思为“计算的方法”
1747 德国 《数学大全词典》对算法的定义:
该词接合了 加减乘除 四则算术运算的概念
最经典的算法为:辗转相除法
ref: 《TAOCP》 第一章
特征
- 有限性:必须在有限的步骤哪终止
- 确定性:每一步必须精确定义
- 输入:算法的初始值
- 输出:算法的最终结果
- 可行性:所有的计算必须足够基本,有限时间内可执行,利用纸笔即可计算
形式定义
- Q:计算状态
- I:输入
- 输出
- f 计算规则
- 输出在计算规则下得到自身
进一步理解
集合论视角:所有的算法可以用集合论表示
模式匹配视角:所有的算法,例如“加减乘除”都可以用字符串的模式匹配来等效,这也是现代计算机使用“内存”来存储计算的本质
相关算法
图搜索算法:
经典算法: