我一直认为搞算法应该看三本书,但是如果一个人把这三本书都花时间去钻研,那要么就是对算法极有天赋以及狂热的学者,要么就是附庸风雅的俗人。就如同当年胸口别四只钢笔的显摆人士,不足以模仿之。
这三本书中有两本可说是如雷贯耳,TAOCP和算法导论,而这本DACA却鲜有人问津。这恐怕得益于TAOCP的大牛作者Knuth,以及MIT OCW对算法导论的推广。相比之下,DACA名气就小很多了。尽管如此,DACA的编者阵容仍可说是十分豪华:大名鼎鼎的Aho和Ullman,以及86年图灵奖获得者Hopcroft。
估计绝大多数人认识Aho和Ullman是因为龙书,而Hopcroft知道的人就不见得多了。第一次认识这位老兄是因为当初学习自动机的时候运气较好,读到了他的《自动机理论、语言和计算导论》。后来对他印象十分深刻,所以当我后来看到他和老霍和老乌合写的书,便不能不弄来翻看一下。
这本DACA大凡在书店里都是有的,不过多半会放到数学的架子上去。但是每当有人拿起这本黄金壳子的书翻读的时候,最可能发生的情况就是看完前几页就放下了,因为这本书里面使用的是Algol60,大部分人就因此敬而远之。但实际上,Algol60在本书中并不重要,不过是描述过程的一系列代号而已,多看几次一定可以轻松阅读,甚至根本没有必要为此而去专门学习Algol60。
这三本书所针对的层次十分鲜明:
TAOCP->意图建立算法构建之前的思维体系,由此可以在其建立起来的基本思维框架下去推导新的算法。侧重于算法思维;
算法导论->侧重于对算法本身进行分析,尤其是如何提高算法效率方面,做了详实的讨论;
DACA->理论讨论的不多,不像算法导论里面一堆定理和证明过程,重点在于讲述如何把已有的算法拿来应用。但这种应用并不是实现层面的应用,不是去考虑如何用具体的语言来实现算法。而是讨论如何把已有的算法用到实际问题上去,也就是说在遇到具体问题的时候,如何利用已经研究成熟的算法和数据结构的一些适用的特性,用来来解决这些具体问题。但是千万不要把这种讨论想得太简单,这毕竟不是什么对照手册,查阅即可知道A问题对应B方法。其中讨论还是比较抽象的,所以对于想学了就能马上用的人来说恐怕这书还是深了点。对于研究算法的人来说,还是值得一读的,尤其是研究如何把前人研究成果拿来应用的人。
由此可以看到,TAOCP的内容最底层,但难度也是最高的;算法导论居中;DACA就比较适合对算法要求相对要“浅”一些的人,当然,这种所谓的“浅”,并不是指浅薄,仅是避免过于深入的钻研而已。本质上来说,这种“浅”对大多数人来说,已经足够深入了......
算法1/3
对“算法1/3”的回应
《计算机算法的设计与分析》热门书评
-
算法1/3
50有用 1无用 纳兰经若 2009-01-16
我一直认为搞算法应该看三本书,但是如果一个人把这三本书都花时间去钻研,那要么就是对算法极有天赋以及狂热的学者,要么就是附庸风雅的俗人。就如同当年胸口别四只钢笔的显摆人士,不足以模仿之。这三本书中有两本可说是如雷贯耳,TAOCP和算法导论,而这本DACA却鲜有人问津。这恐怕得益于TAOCP的大牛作者K...
-
算法:传世经典
3有用 0无用 chiv 2008-11-06
<Data Structures and Algorithms>主要内容来本书的前六章。可以说是本书的一个通俗化读本。因此,本书可以说是高级版本,学术性很强,内容较深。本书1974年出版,虽然时间很早,但本书仍然是算法领域不可或缺的经典读物。-----------------------...
书名: 计算机算法的设计与分析
作者:
出版社: 机械工业出版社
原作名: The Design and Analysis of Computer Algorithms
出版年: 2007-7-1
页数: 417
定价: 49.00元
丛书: 计算机科学丛书
ISBN: 9787111215431