数据结构和算法为从业者而不是学术者预订

时间:2011-02-23 00:26:07

标签: algorithm data-structures computer-science

我打算每周投入一些时间研究数据结构和算法 你推荐Cormen,Leiseson,Rivest和Stein的“麻省理工学院算法导论”,第3版吗? AFAIK这本书很有传奇色彩,但我不知道它的目标受众。

这本书适合我的目的吗?还是学术研究?是不是有很重的数学?

6 个答案:

答案 0 :(得分:4)

对于Java,我建议Algorithms in Java, Parts 1-4 by Robert Sedgewick。和伴侣书Algorithms in Java, Part 5: Graph Algorithms by Robert Sedgewick

对于一般性研究,我也有Introductions to Algorithms本书,这是一个很好的一般参考。这个Algorithms, Fourth Edition by Robert Sedgewick看起来也不错,但可能已经涵盖了之前提到的书中的许多内容。

对于Clojure,您可能需要获得基于功能的算法书。 Pearls of Functional Algorithm Design看起来它可能是更通用的程序性书籍的良好伴侣。

答案 1 :(得分:3)

它有相当数量的数学和数学导向材料,但大多数数学并非都是“重”(当然,“重”的定义各不相同)。这是相当学术性的 - 如果你的兴趣主要是从纯粹实用的角度学习算法(例如,在特定情况下应用什么算法),那么对你的目的而言可能相当过分(尽管我没有立即推荐任何对这种用途都有明显改善的东西。)

答案 2 :(得分:2)

Steve Skiena的算法设计手册

你可能会觉得这本书很有用 - 它很少强调理论,但很多关于如何/什么/在哪里/为什么而不深入研究数学。作者从他的经验谈到了应用程序 - 所以你会看到一个实际的弯曲。轻读但很难阅读!

答案 3 :(得分:2)

算法简介是一本非常好的书。您可以阅读本书并按照AcademicEarth.org上的视频讲座系列进行操作。

但是如果你想用特定的语言(C,C ++或Java)学习它,你可以选择Mark-Allen Weiss,Robert Lafore或Robert Sedgewick的任何数据结构和算法书。

答案 4 :(得分:0)

我阅读了计算机Algorithms by Horowitz and Sahni,很容易遵循足够的示例和伪代码。

答案 5 :(得分:0)

除Cormen外,如果您同时使用Java和Clojure,我建议您阅读Purely Functional Data Structures