八年程序员之书籍篇--Algorithm(三):算法设计技术

来源:互联网 发布:4g网络覆盖地区 编辑:程序博客网 时间:2024/05/21 23:31

同样是讨论算法,同类1不同的是,此类书籍不追求算法的罗列及其数学论证,而关注于算法之间的共性,什么思路下诞生什么样的算法?或者说是算法之算法,得到算法的算法。^_^

 

此系列有以下几本:

1.《Algorithm Design》-《算法设计》-Jon Kleinberg & Eva Tardos-张立昂等-清华大学出版社。此系列中最厚最全的一本书。除了算法书中都涉及的分析基础、图、分治、贪心、动态规划、NP外,还有一些扩展内容。书偏学院派,每个例子的证明和深入比较多,比较适合喜欢研究的朋友。书中小部分习题带解答,参考书有些奇怪,每章后面列出来都是简称,但是书后并没有详细的信息。总的说来,喜欢全面了解、深入研究比较适用,并不适合于入门。评价:4

2.《Algorithms》-《算法概论》-Sanjoy Dasgupta & Christos Papadimitriou & Umesh Vazirani-王沛等-清华大学出版社。短小精悍的一本书,虽薄内容却不单薄。数算法和量子算法是其特色。相对书1和书2,我更推荐这本书,比较薄嘛!^_^,书中的习题没有答案/提示,靠自己修炼了!评价:4.5

3.《Introduction to the Design and Analysis of algorithms》-《算法设计和分析基础》-Anany Levitin-潘彦-第2版-清华大学出版社。编排完全以算法设计技术来编,一般列为分治法的还分了三章:分治、减治、变治。个人说一句:还是喜欢这种编排方式的,虽然可能你去找某经典算法并不方便。不过,讲设计技术的书并不是想做算法参考手册,对吗?书中的题目有提示,其中有标识的题目比较有趣。评价:4.

4.《Introduction to algorithms-A Creative approach》-《算法引论-一种创造性方法》-Udi Manber-黄林鹏等-电子工业出版社。这个系列中最好的一本书!强烈推荐!如果您觉得言过其实,您看一下第5章就可以判断了!可能并没有讲很全的算法,并没有严格的证明,其中的思想也未必能应对所有的问题,但至少有一点:这是授人以渔的书,真正探究怎么想出一个巧妙的算法?以上3册不乏经典算法及其设计技术,可是并没有告诉我们怎么创造一个这样的算法?原来,数学归纳法有这么强大!评价:5.

 

总结:

1.其实这类书籍并非程序员必读,因为实践中似乎大部分程序员并不需要创造算法,只不过是用已有的算法而已,将算法翻译成你用的语言^_^。但是,掌握此类书籍中内容是进阶,这能提高面对实际问题的分析、解决能力。有了编字典的能力,还用不了字典吗?

2.如果只能推荐一本书,那么是书4.如果再推荐一本,那么是书2.

3.另外还可以推荐几本波利亚的书《怎样解题》《数学与猜想》《数学的发现》等,同书4有异曲同工之妙,不过毕竟不是讲算法的,算在另一个系列详述了...

原创粉丝点击