第1章 绪论
1.2 算法描述
1.2.1 基本概念
1.算法(Algorithm)
通俗地讲,算法就是一种解题的方法。更严格地说,算法是由若干条指令组成的有穷序列,它���须满足下述条件(也称为算法的五大特性):
(1)输入:具有0个或多个输入的外界量(算法开始前的初始量)。
(2)输出:至少产生一个输出,它们是算法执行完后的结果。
(3)有穷性:每条指令的执行次数必须是有限的。
(4)确定性:每条指令的含义都必须明确、无二义性。
(5)可行性:每条指令的执行时间都是有限的。
2.算法和程序的关系
算法的含义与程序十分相似,但二者是有区别的。一个程序不一定满足有穷性(死循环),另外,程序中的指令必须是机器可执行的,而算法中的指令则无此限制。一个算法若用计算机语言来书写,则它就可以是一个程序。
1.2.2 算法描述
1.用流程图描述算法
一个算法可以用流程图的方式来描述,输入输出、判断、处理分别用不同的框图表示,用箭头表示流程的流向。这是一种描述算法的较好方法,目前在一些**语言程序设计中仍然采用。
2.用自然语言描述算法
用我们日常生活中的自然语言(可以是中文形式,也可以是英文形式)也可以描述算法。
例如,某同志某天做的工作可以描述为一个算法形式,如下:
若今天我有空并且天不下雨,则我上街购物,否则我呆在家里看书。
3.用其他方式描述算法
还可以用数学语言或约定的符号语言来描述算法。
4.用C++描述算法
在本教材中,将采用C++或类C++来描述算法。用c++描述算法遵循如下规则:
……