购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1-1 计算机的算法

在科技时代,我们常使用计算机解决某些问题。为了让计算机可以了解人类的思维,我们将解决问题的方法用特定方式告诉计算机,这个特定方式就是计算机可以理解的 程序语言 。计算机会依据程序语言的指令,一步一步完成工作。

当使用程序语言解决工作上的问题时,我们需要知道应该使用什么方法,可以更快速、有效地完成工作。

例如 ,有一系列数字,我们想要找到特定数字,是否有更好的方法?

假设我们要找的数字是 3 ,如果我们从左到右找寻,需要找寻5次;如果我们从中间找寻,只要1次就可以找到。其实找寻的方法,就是 算法

例如 ,有一系列数字,我们想将这一系列数字从小到大排序。

为了完成上述从小到大将数字排列,也有许多方法,这些方法也可以称为 算法

目前世界公认的第一个算法是 欧几里得算法 ,出现在 欧几里得 (Euclid,公元前325—前265年)所著的《 几何原本 》(古希腊语: ),这是一本数学著作,也是现代数学的基础。著作共有13卷,在第8卷中就有讨论 欧几里得 算法,这个算法又称 辗转相除法 欧几里得 古希腊数学家 ,又被称为 几何学之父

现代美国有一位非常著名的计算机科学家 唐纳德·欧文·克努特 (Donald Ervin Knuth,1931—),他是美国斯坦福大学荣誉教授退休,1972年 图灵奖 (Turing Award)得主,在他所著的《 计算机程序设计的艺术 》( The Art of Computer Programming )中,对 算法 (algorithm)做了特征归纳:

(1) 输入 :一个算法必须有0个或更多的输入。

(2) 有限性 :一个算法的步骤必须是有限的。

(3) 明确性 :算法描述必须是明确的。

(4) 有效性 :算法的可行性可以获得正确的执行结果。

(5) 输出 :输出就是计算结果,一个算法必须要有1个或更多的输出。

唐纳德的著作 The Art of Computer Programming 曾被《 科学美国人 》( Scientific American )杂志评估为与 爱因斯坦 的《 相对论 》并论的20世纪最重要的12本物理科学专论之一。

所以我们也可以将算法过程与结果归纳做下列的定义: X9Sa8f8GXTx+sLsFgxyt4Zp4n2AGpjtv6ohSsQdvI08otx8AoFALAxfLZdJCNgLf

     输入 + 算法 = 输出
点击中间区域
呼出菜单
上一章
目录
下一章
×