- 书名:改变未来的九大算法
- 作者:[美]约翰·麦考密克
- 译者:管策
- 出版社:中信出版社
- 定价:39.00元
- 多看书城:14.99元
- 电子科技大学图书馆:待上架
上中学时,我被蒙进了信息学竞赛这个圈子,成了一名OIer(信息学竞赛选手)。第一门课开始就是C语言,老师讲得很慢,我花了一个学期自学,后来也写点小程序玩玩。后来由于一些原因,老师就不再教我了。但是比赛也还是要做啊,所以我只能带着C语言基础去赛,结果被虐得七零八落。
于是我明白还有一门叫做“算法”的学问。比如说,对一组数排序,少的时候好像怎么排都可以,但是多的时候,比如100万个数,如果还用C语言课本上的冒泡排序,可能得要好几个小时;用一种叫做“快速排序”算法后,只需要不到一秒。有人以为这种情况不可能出现,其实不然,如果你在给“节奏大师”的安卓大区所有用户制作全球排行榜,你还得等上大半天才能排完一首歌的榜吗?
是谓曰,算法让不可能变为可能。现在是信息时代,一种新奇的想法要实现,要有足够快的算法做支撑。我们日常上网,不可避免地遇到一些算法。关于搜索,有PageRank;关于安全,有加密算法和数字签名;关于稳定性,有纠错码;还有我们常用的数据压缩……但我们往往没有察觉,在基础教育和各种科普材料也缺乏这方面知识的普及。这本书恰恰填补了这个空缺。
算法这东西,可以说很枯燥。当我还是OIer的时候,就听到身边的不少OIer抱怨说:“算法很难学,我不做算法。”我以前偶尔也有过向编程小白解释一种算法的经历,即便费了大半天口舌对方也只是马马虎虎懂一点。这本书的作者毕竟是个大神,但他也只是尽量用生活经验,以及一点点数学知识,去敲碎这些算法,做成人民群众喜闻乐见的形式。
所以,读吧。