外版数据结构书单

市面上数据结构教材很多,我们列举其中具有代表性的一些外文教材予以分析比较,可供读者学习时参考。当然,这仅是一家之言,欢迎探讨与商榷。

Java语言版本

  • Algorithms. Robert Sedgewick and Kevin Wayne. 4th Edition. Addison-Wesley, 2011.

这本书虽然叫《算法》,但实际上是一本讲授数据结构的书。该书名声在外,无需多言。顺便八卦一下,这个系列作者写了几十年,该版又有Wayne鼎力相助,排印甚是精美。

  • Data Structures and Algorithms in Java. M. T. Goodrich, R. Tamassia. 6th Edition,Wiley, 2014.

UC Berkeley所采用的教材,难度较高,但比较全面,有诸多可以借鉴的材料,适合作为参考书。另外,作者开发了配套的JDSL数据结构库。

  • A Practical Guide to Data Structures and Algorithms using Java. S. A. Goldman and K. J. Goldman, Chapman & Hall / CRC Press, 2007.

极具特色的一本数据结构教材,按照抽象数据类型分类进行教学,不过正如Princeton大学教授Robert Schapire所说“这是一部手册”,适合学生课后投入时间自学。

C++语言版本

  • Data Structures and Algorithm Analysis in C++. M. A. Weiss. 4th Edition, Addison Wesley, 2013.

这是一本国外非常流行的教材,目前最新版是第4版。该书内容较难,特别是对于算法的数学分析非常深入,对数学基础要求较高。

  • 数据结构与算法分析(C++版) (第3版). Shaffer 著, 张铭译. 电子工业出版社, 2013.

既讲授理论,也侧重实用。不过它对于如何实现抽象数据类型这方面的要求很高,普通学生难以达到。

  • 面向算法设计的数据结构(C++语言版).

插播一条广告,安利一下自己的教材。

  • 数据结构 C++语言描述——应用标准模板库(STL) (第2版影印版). William H. Ford and William R. Topp, 清华大学出版社, 2003.

该书尽管非常详细地讲解了面向对象程序设计和数据结构,但它只适合课后自学。此外本书内容没有反映C++语言的新发展。

C语言版本

温馨提示: C语言程序库不如STL和Boost丰富,因此一般读者会陷于大量的代码之中,很难快速了解整个课程的应用。就算对于有经验的程序员来说,完全用C语言写应用程序也是非常不容易的。

  • Data Structures and Algorithm Analysis in C. M. A. Weiss. 2nd Edition, Pearson, 1996.

理论和实践结合非常完美的C语言版本数据结构。

  • 数据结构基础(C语言版). E. Horowitz, S. Sahni, S. Anderson-Freed著, 朱仲涛译. 第2版, 清华大学出版社, 2009.

内容经典,叙述精当,考研的同学可以多看看。

Python语言版本

  • Data Structures and Algorithms in Python. M. T. Goodrich, R. Tamassia, and M. H. Goldwasser. Wiley, 2013.

目前Python语言版本的教材还不多见,姑且推荐这本吧。

理论版本

  • Algorithms and Data Structures: The Basic Toolbox. K. Mehlhorn and P. Sanders. Springer-Verlag, 2008.

选材和内容组织都很合理,由德国研究数据结构和计算几何的著名学者Mehlhorn主持撰写。作者是理论工作者,因此该书理论性相当强,而且采用伪代码描述,适合于国内的研究生阶段教学。

你可能感兴趣的:(外版数据结构书单)