定义
算法描述是指用某种方式将算法的逻辑步骤、控制流程和数据操作表达出来,以便于理解、分析、实现或交流。常见的算法描述方法有自然语言描述、流程图描述和伪代码描述。这三种方式从不同角度呈现算法,各有优劣,在实际应用中常结合使用。
自然语言描述
定义
使用人类日常语言(如中文、英文)按顺序叙述算法的执行过程,不涉及编程语法,重在表达逻辑。
特点
- 通俗易懂,无需专业背景。
- 描述可能不够精确,容易产生歧义。
- 适合算法初步介绍或与人沟通。
样例(辗转相除法求最大公约数)
- 输入两个正整数 a 和 b。
- 若 b 等于 0,则最大公约数为 a,算法结束。
- 否则,计算 a 除以 b 的余数 r。
- 将 a 赋值为 b,b 赋值为 r。
- 返回第 2 步继续执行。
流程图描述
定义
使用图形符号(起止框、判断框、处理框、流程线等)按照算法执行顺序绘制流程图,直观展示算法的控制流。
特点
- 图形化,结构清晰,一目了然。
- 便于发现算法中的分支和循环结构。
- 绘制较繁琐,不适合过于复杂的算法。
样例(辗转相除法求最大公约数)

伪代码描述
定义
介于自然语言和编程语言之间的描述方式,使用结构化的控制语句(如 if、while、for)和数学符号,省略具体语法细节,突出算法逻辑。
特点
- 接近代码,易于转换为实际程序。
- 比自然语言更精确,比流程图更简洁。
- 无固定语法,可根据需要灵活表达。
样例(辗转相除法求最大公约数)
输入 a, b
while b ≠ 0:
r = a mod b
a = b
b = r
end while
输出 a
对比
对比项 | 自然语言描述 | 流程图描述 | 伪代码描述 |
|---|---|---|---|
| 表达方式 | 自然语言(中文/英文) | 图形符号 + 文字 | 结构化语句 + 数学符号 |
| 精确度 | 较低,易歧义 | 较高,图形确定 | 很高,接近程序逻辑 |
| 可读性 | 最易读,无需基础 | 直观,适合展示结构 | 需要一定编程思维 |
| 转换代码 | 需人工翻译 | 需人工翻译或工具生成 | 几乎可直接转换 |
| 适用场景 | 初步说明、教学 | 设计阶段、文档展示 | 算法设计、编程前导 |
三种描述方式相辅相成:自然语言帮助理解意图,流程图看清结构,伪代码直接指导编程。