Tuesday, September 25, 2007

关于算法学习的入门书本(zz)

1. [CLRS]Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliffor
d Stein. Introduction to Algorithms. The MIT Press and McGraw-Hill, second edition, 2001. 国内有高教版影印。也有中文版。这本书一出来就取代了做了20年的经典教材[AHU]。提供了初级到中级课程的材料,而且chapter notes指引了进一步阅读的方向。四个作者都极猛。

2. [KT]Jon Kleinberg and Eva Tardos, Algorithm Design, Addison-Wesley, 2005.国
内有清华影印版。
观点很新的书。两个作者都在Cornell教了好多年的算法课,而且在纯理论之外都有所侧重
。习题非常之精彩,而且大部分都是Cornell这些年的作业或者习题。

清华Yao的课就是用上面两本教材,课文是[CLRS],[KT]主要来布置阅读和习题。


可选的:
3. [S]Robert Sedgewick, Algorithms. 有电力和xx两种影印版。第三版有1-5卷,共两本
书。只推荐C语言的版本;而且不推荐看中文版,中文版翻译得非常之差。这是一本非常重视算法实现的书,即使是资深的优化程序的人也不会对Sedgewick的C程序有不满。作者对于基本算法都给了很多很多形象的图示,比较容易读懂,Princeton把C语言和第一本书连在一起上。

4. [GT]Michael T. Goodrich and Roberto Tamassia,Algorithm Design - Foundation
s, Analysis, and Internet Examples. 好像只有中文版,翻译的还可以。
和其它书算法使用了不同的体系,偏应用。两个作者都是计算几何专家。
和这本书配套一个Data Structures Library in Java,提供所有的源代码。虽然代码仅仅
实现了最简单的东西。但可以是一个很好的软件工程的参考。

5. [DPV] S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms. 应该
已经出版了。国内肯定没有,清华图书馆已经买了,但是还没有上架。
我看过成书前的lecture notes,做过这本书的图论和动态规划部分的习题,很不错的书。
HKUST COMP271H的教材。想获得相关资料的可以去看Berkeley的
CS170.http://inst.eecs.berkeley.edu/~cs170/archives.html,注意找Papadimitriou上
的那些课。

6. [B]Jon Bentley, Programming Pearls. 2nd edition. Addison-Wesley.


学算法需要的重要数学参考:
1. 一本微积分书
2. 一般概率书
3. 一本代数书
4. 一点基本的组合计数

No comments: