Python程序设计教程
上QQ阅读APP看书,第一时间看更新

1.6.1 算法

由于程序的动作序列包含了对数据的存取访问和运算,对数据合理描述、组织、存放和读取,关系到程序的正确和高效运行。

算法是求解特定问题的一组有限的操作序列,为解决问题而采用的方法和步骤,是解决问题方案的准确而完善的描述。它定义了良好的计算过程,它取一个或一组值作为输入,并产生一个或一组值作为输出。无论是形成解决问题的思路还是编写程序,都是在实施某种算法,不同的是,解决问题的思路是推理的实现,编写程序是操作的实现。在计算机科学中,算法要用程序设计语言实现。算法的质量直接影响程序运行的效率,算法是程序设计的基础。

算法的概念由来已久。计算机诞生之前,算法一直是属于数学的范畴,主要就是寻找解决特定问题所需要的一组操作序列。

一个著名的例子就是古希腊数学家欧几里得(Euclid)所发现的求两个正整数m和n的最大公约数问题。根据欧几里得提供的方法,问题可以通过反复执行以下3步操作来求解。

第1步:比较m和n这两个数,将m设置为较大的数,n为较小的数。

第2步:m除以n,得到余数r。

第3步:若r等于0,则n就是最大公约数,否则将n赋值给m,r赋值给n,返回到第2步。

这就是算法,在小学算术中称为辗转相除法。