|
算法(algorithm)就是解决特定问题的方法。描述一个算法可以采用文字描述,也可以采用传统流程图、N-S图或PAD图等。作为一个算法应该具备以下5个特性:
|
|
|
|
.确定性。算法的每一步都应该具有确切的含义,没有二义性。
|
|
|
|
|
.输出。一个算法执行结束后至少要有一个输出量,表示算法对输入量进行运算和处理的结果。
|
|
|
注意,算法和程序是有区别的——程序未必能满足有穷性。在本书中,只讨论满足动态有穷的程序,因此“算法”和“程序”是通用的。
|
|
|
算法可以借助各种工具描述出来。一个算法可以是用自然语言、数字语言或约定的符号来描述,也可以用计算机高级程序语言来描述,如流程图、Pascal语言、C语言、伪代码或决策表等。下面以从n个元素中查找最大值为例,来讲解用流程图和伪代码这两种常见方法对算法的不同描述:
|
|
|
|
从n个整数元素中查找出最大值,若用流程图描述如下图所示。
|
|
|
|
|
|
除了可以用流程图描述之外,还可以用伪代码来进行描述。
|
|
|
|