【问题标题】:Data structures and algorithms book for the practitioner not for the academic [closed]面向从业者而非学术人员的数据结构和算法书籍[关闭]
【发布时间】:2011-02-23 00:26:06
【问题描述】:

我计划每周花一些时间研究数据结构和算法。
您是否推荐:Cormen、Leiseson、Rivest 和 Stein 撰写的“MIT 算法导论,第 3 版”?
AFAIK 这本书很有传奇色彩,但我不知道它的目标读者。

这本书适合我的目的吗?还是为了学术研究?是否包含繁重的数学运算?

【问题讨论】:

  • 你将关注什么语言,有一些非常好的专门针对这个主题的书籍,它们是特定于语言的,尤其是 C、C++ 和 Java。
  • @fuzzy lollipop 我专注于 Java 和 Clojure。

标签: algorithm data-structures computer-science


【解决方案1】:

对于 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 看起来可能是更通用的程序书籍的好伴侣。

【讨论】:

  • lollipop 感谢提及“函数式算法设计之珠”
【解决方案2】:

它有相当多的数学和以数学为导向的材料,但大多数数学并不是全部“重”(当然,“重”的定义各不相同)。这是相当学术的——如果你的兴趣主要是从纯粹的实际角度学习算法(例如,在给定情况下应用什么算法),那么对于你的目的来说可能有点矫枉过正(尽管我没有立即推荐任何对这种用途都明显更好的东西)。

【讨论】:

  • @4bu3li 虽然这本书的目标读者显然是学术性的,但它写得非常好(非常清晰,易于理解,不会让您在任何时候感到困惑)。此外,每种算法的分析都是“模块化的”,您可以跳过大部分数学方面,仍然可以理解。我强烈推荐它。
【解决方案3】:

Steve Skiena 的算法设计手册

您可能会发现这本书很有用 - 它很少强调理论,但很多关于如何/什么/在哪里/为什么而没有深入研究数学。作者从他的经验中谈到了应用程序 - 所以你会看到一个实际的倾向。阅读量少,但要阅读的内容很多!

【讨论】:

  • 这是一本非常好的理解算法的书——algorist.com。但是代码是用C语言编写的。
【解决方案4】:

《算法导论》是一本非常好的书。您可以阅读本书并关注AcademicEarth.org 提供的视频讲座系列。

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

【讨论】:

    【解决方案5】:

    我读了Computer Algorithms by Horowitz and Sahni,它很容易通过足够的示例和伪代码来理解。

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        猜你喜欢
        • 2018-12-10
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 1970-01-01
        • 2012-10-28
        • 2012-04-19
        • 2011-11-20
        • 1970-01-01
        相关资源
        最近更新 更多