【算法】0. 前言

本系列文章是学习《算法》(作者:Sedgewick)的笔记。首先是排序、查找相关算法,后续再深入其他算法。

为什么要学算法?

大公司都喜欢面算法,为什么?

算法(以算法为代表的基础知识)是编程内功,好的算法教程,就像江湖上的《九阴真经》,修习之后内力暴涨。理论上说,若内力深厚,学任何一门功夫都将得心应手。自我感觉,目前技术上的一大瓶颈,是源于算法知识的薄弱。如果仅仅通过工作累积熟练度,提升十分有限;如果盲目追逐新技术,内力不够,也只不过学一些没用的花架子。

本书中的算法代表了近50年来的大量优秀研究成果,是人们工作中必备的知识。从物理中的N体模拟问题到分子生物学中的基因序列问题,我们描述的基本方法对科学研究而言已经必不可少;从建筑建模系统到模拟飞行器,这些算法已经成为工程领域极其重要的工具;从数据库系统到互联网搜索引擎,算法已成为现代软件系统中不可或缺的一部分。——《算法》

那些前沿技术,人工智能、图形学、数据挖掘、自动驾驶、无人机……全都建立在各种算法之上。显然,掌握基础算法,再去学习高级算法,会容易很多。

对我而言,学习算法,就是打开一扇门,门外的世界很精彩。