算法简史

[英] 克里斯·布利克利
献给艾琳,谢谢你 算法(algorithm) 名词。在计算或其他解决问题的操作中所要遵循的处理过程或一组规则,特别是指计算机的计算过程或规则。 该词起源于阿拉伯语al-Kwārizmī,意为“来自花剌子模(现称‘希瓦’)的人”,是一位9世纪数学家的名字,其全名是阿布·贾法尔·穆罕默德·伊本·穆萨(Abū Ja’far Muhammad ibn Mūsa)。他所著的代数和算术著作被广泛翻译。 《牛津英语词典》,2010年 前言 这本书是写给知道算法很重要但不知道算法究竟是什么的读者的。 我在担任都柏林大学计算机科学学院外联主任时获得了写这本书的灵感。在与家长和中学生的数百次讨论中,我意识到大多数人都听说过算法,这要归功于媒体对谷歌、脸书和剑桥分析公司的广泛报道。然而,很少有人知道算法是什么、算法如何运作或是算法从何而来。本书回答了这些问题。 本书是面向普通读者的,阅读之前不需要具备算法或计算机知识。然而我相信,即使是拥有计算机学位的读者也会发现书里的故事令人惊奇、趣味横生且能够启发思考。对算法有深刻理解的读者可以跳过前言部分。我的目标是让读者享受阅读本书的过程,并从中学到一些新东西。 书中所描述的各个事件中有许多参与者,但我并没有提及所有人的名字,对此我表示抱歉。几乎每一项创新都是建立在前人发现的基础上、由团队合作完成的产物。为了使这本书成为一个具有可读性的故事,我倾向于把关注点放在少数关键人物上。如果想要了解更多细节,我建议有兴趣的读者参阅本书参考文献部分列出的内容。 追求完整性是枯燥沉闷的,于是在某些地方我更倾向于写一个好故事。如果你最喜欢的算法不在此列,请告知我,我可能会把它放进未来的版本中。当描述一个算法能做什么的时候,我使用现在时态,即使是在讲古老的算法,也是如此。所有金额的币种均为美元。 我非常感谢那些慷慨地允许我使用他们的照片和语录的人。我还要感谢在本…