跨越时代的罗盘_算法导论书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 程序 > 算法导论 > 跨越时代的罗盘
jiangyy 算法导论 的书评 发表时间:2010-11-11 17:11:51

跨越时代的罗盘

《算法导论》在我心目中的地位无疑是最高的。

第一次读到这个书,大约是在高一的时候。很荣幸地读到了南京大学翻译的《算法导论》第一版,名字叫《现代计算机常用数据结构和算法》。1994年出版,当时在国内是非常先进的译著。因为几乎是填补空白的作品,其中的诸多翻译处理得不够美妙,也有不少地方能看出译者并没有完全理解作者的意图,几乎直译。至今还记得disjoint-set在这个版本里的翻译是“用于分离集合的操作”,而“并查集”则要雅得多。

它对我的帮助在于,在还是少年的时候,建立了良好的属于计算机的思维模式,打下了计算机科学的良好基础。算法强调的是一个有顺序过程的执行,这种思维方式异于每一个中学生所熟悉的数学、物理学中的方法。忽略一些需要用到技巧的数学推导,《算法导论》是完全适合中学生阅读的。其中描述的算法是符合直觉的,每一步都蕴含简单而深刻的道理。这是一本非常令读者感到舒畅的书,里面几乎没有反直觉或是极端难以理解的示例,把算法以一种自然的方式呈现出来,在全书的最后一篇中安排的论题,更是展现了算法的无穷魅力。

《算法导论》还为我们建立了数据结构与算法之间的联系。书中的前篇,除了一些基础的算法,都在由浅入深地介绍数据结构的知识,这些结构拥有各自有趣的特性,但却始终围绕了“抽象”这一主题——数据结构应用算法设计与分析的技巧,为更精良的算法提供后备支持。好比楼房的地基,地基稳固,楼房才能建得高。在书中介绍的图论和选编的论题中,普遍地使用了数据结构提高算法的性能。

之后读过许多颇有特点的算法书,包括很著名的Kleinberg的《算法设计》、Dasgupta的《算法概论》,还有Baase的《计算机算法:设计与分析导论》,前两本侧重于设计,后一本则侧重于分析,《算法导论》无疑是在设计与分析方面找到了一个精巧的平衡点,当然,这和它的大部头是分不开的。

我认为这本书最大的缺点,也是它最大的优点,就是内容非常充实,需要相当多的时间来仔细阅读。作为入门书,这本书陪伴了我很多年,很多章节都被反复阅读了。国内大学的本科生,迫于课业、实习、琐事和环境的压力,能做到这一件事的人并不多。然而我认为这是在本科阶段最重要的事情之一,没有算法就没有整个计算机科学。
 
至于etone所评述的缺点,关于伪代码,大多我是不看的,除非有些觉得不知如何实现的精巧,参考一下;我猜想这也许是给入门者一个实现的台阶(算法导论里的伪代码框架清晰,思路明确,说到让人费解的伪代码,那无疑是龙书呵),并不影响理解算法背后的原理、体会其中的美。算法最终只有被实现,实际地求得结果,改变我们的世界,才有它存在的价值。

与etone老师一样,我认为《算法导论》的知识略显死板,给人谨慎、细致的感觉,行文和脉络远不如Kleinberg和Dasgupta那种大快朵颐的感觉,然而严谨的思路、详细的证明、全面详实的内容,无疑奠定了它在人们心中的地位。
 
《算法导论》是一本体系完整、结构精良、内容丰富的算法入门教材,对我来说,还附加了启蒙和回忆的味道,更显得深沉了。每当再翻起,细碎的记忆就涌上心头,初恋般美好的感觉。也许许多老师和同学都会怀有这样的感动,《算法导论》是陪伴我成长、属于我的独家记忆:)

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“跨越时代的罗盘”的回应

BreakDS 2011-03-30 00:13:27

相当同感,就如初恋呢。我大体是很喜欢它的伪代码以及定理式的推进,事实上很多定理美过算法本身。我是初一在北京买的英文版,抱着字典一天能看两页便是神速了。当然一个好处便是禁绝了囫囵吞枣。

喬海軍 2011-01-19 23:39:29

《算法导论》是完全适合中学生阅读的