再上一篇:第 6 章 算法和算法的表达方式
上一篇:6 .1 .1 什么是算法
主页
下一篇:6 .2 算法的开发
再下一篇:6 .2 .1 问题定义
文章列表

6 .1 .2 算法的特性

《程序设计基础》(基于C语言讲解) 石光华 编著 —北京: 清华大学出版社

一个方法要成为可以在程序设计中所使用的算法,需要具备如下特征。

1 .有穷性

一个算法要在有限的步骤内解决问题(这里所说的步骤是指计算机的执行步骤)。计算机程序不能无限地运行下去(甚至不能长时间地运行下去),所以一个无限执行的方法不能成为程序设计中的“算法”。

有穷性是指在合理的范围之内。例如,设计了一个有限的算法,但按照目前计算机发展的水平需要计算1000年才能完成,这样的算法就没有实际意义,不能当做算法。66 程序设计基础

当然,计算机技术的进步会对算法产生影响。对于现在的计算机1000年才能完成的

算法,在将来也许几个月就能够完成,到那时某些现在认为无穷性的方法将变成切实可行

的算法。

2 .确定性

算法中操作步骤的顺序和每一个步骤的内容都应当是确定的,不应当是含糊不清的。

算法也不能有不同的解释存在,即不能具有二义性,不应当产生两种或两种以上的含义。

3 .有零个或多个输入

输入就是从外界取得必要的信息。一个算法可以有零个或多个输入,例如输入一个

年份,判断是否是闰年。同时,一个算法可以没有输入,例如计算出5+1是多少。

4 .有一个或多个输出

算法的目的就是求解,所谓解就是想要得到的最终结果。输出是与输入有着某些特

定关系的量。一个算法得到的最终结果就是输出,没有输出的算法是没有意义的。

5 .可执行性

一个算法应当是可以由计算机执行的,而算法中描述的操作都可以通过计算机的运

行来实现。