预订Cormen以外的算法


21

我已经完成了Cormen的《算法入门》一书中的大部分内容,并且正在寻找一本涵盖Corman本书以外的内容的算法书。有什么建议吗?

注意:我在stackoverflow上询问了此问题,但对答案并不满意。

注意:在我看来,通过阅读大多数评论,我很理想地希望在本课程说明中找到一本涵盖787课程材料的书。


1
看到这个
Kaveh

1
@Kaveh我已经读过Tardos。
尤金(Eugene)2012年

1
“算法简介”涵盖了算法设计和分析范围内的几乎所有内容,并且是本科和研究生课程中世界上最受欢迎的教科书。每章都简要介绍了相关材料,最后还有一长串可供参考的参考文献。如果您认为需要更深入地了解某个主题,例如图形算法,复杂性理论等,那么最好的选择是查看本书的参考书目,如果没有帮助,您也可以寻求有关领域专家的建议特定区域。
阿里

12
“算法简介”涵盖了算法设计和分析范围内的几乎所有内容 -嗯,只要这是真的。
JeffE 2012年

5
我真正喜欢的一本书是Udi Manber 着的《算法简介:一种创新方法》。与大多数其他教科书不同,他教自己如何提出算法。对于教科书中涵盖的每种算法,他提供了越来越多的章节,第一个章节描述了最明显的方法,并且每一次连续尝试都纠正了前一个错误。我认为这是一个很棒的文字。
Vinayak Pathak 2012年

Answers:


9
I am looking for an algorithms book that covers material beyond Corman's book.

可以用多种不同的方法来回答,这取决于您要“超越”什么。我建议您询问更具体的方向,因为您更有可能获得有用的具体答案。至于一些一般指导:

  • 您可能会发现的一般书籍,探索比科尔曼更深入的一般算法的话题寥寥,但在大多数情况下,你需要开始如果这本书将是专业显著的深度。否则,它很可能会肿并且缺乏实用性。
  • 因此,请寻找特定主题。如果您专注于特定主题,则有很多高级材料。您是否感兴趣:
    • 排序算法?
    • 字符串算法?
    • 数论算法?
    • 矩阵算法?
    • 图算法?
    • 几何算法?
    • 量子算法?
    • 随机/随机算法?
    • 线性规划?
    • 计算模型?
    • 基本复杂性理论和算法?
  • 如果您想了解如何派生自己的算法,则应着重于了解要研究的问题空间中使用的已知数据结构(因此,可以深入了解现有知识),并希望对复杂性理论和模型有一个很好的理解。计算。即使您很难在形式上证明下界,这些方法也会给人以直观的感觉,以解决给定问题的可能性,以及哪种方法可能会取得更好的成功。

我建议Papadimitriou的几本或《复杂性理论》的Arora / Barak等书是我建议Corman进行跟进,以更好地理解可能的算法并建立一些直觉的方法,但我只是希望阅读有关特定领域的现代综述论文,并希望毕业并如果您想熟悉现代的理解水平,则可以就更具体的主题进行研究。


1
你问一个很好的问题。我对数论算法很感兴趣,因此我已经研究了巴赫和沙利特的算法数论。我正在寻找可以使我的算法开发技术超越Cormen的书籍。
尤金(Eugene)2012年

1
我不是在寻找深度,而是在寻找广度。不是基础复杂性理论,而是对我听说过的算法/数据结构的介绍,但不在CLRS中(或仅作为问题出现),无法将我所听说的东西添加到编程库中。诸如以下内容:A *搜索,最佳优先搜索,Bloom过滤器,文件/图像压缩,Burstsort,隐马尔可夫模型,朴素贝叶斯分类器,量子算法,跳过列表,TimSort,Treaps,Tries,Voronoi图算法等,即使其只是有关Bentley的《 Programming Pearls》等各种主题的有趣文章的集合。
jimbob博士2012年


5

您看过《理论计算机科学手册》吗

如果您想超越命令式算法而转而使用函数式编程,请看一下Purely Functional Data Structures。我知道标题说的是数据结构,但本书中的算法可能会让您对另一种编程方式有所了解。

编辑

我看了CS 787 的课程说明当前课程

它指出

我们将主要使用文献资料。这些将作为讲义或通过网络提供。有关算法的几本书将在Wendt图书馆保留。

如果是我,我会联系教师目录。:)


不,我没有看过手册。谢谢你的建议!
尤金(Eugene)

哇。我找不到课程信息。感谢您的链接。
尤金(Eugene)2012年

-2

计算机算法非常复杂且难以理解,因此没有最好的书,即只有一本书可以为您提供所有解释。您需要阅读其中的几个内容才能掌握该主题。

这是根据我10年的编程经验和参加大量访谈所获得的2美分:

  1. Steven S. Skiena的算法设计手册
  2. Sedgwick的算法(http://algs4.cs.princeton.edu/home/
  3. 算法简介Thomas Cormen
  4. Adnan Aziz的访谈算法
  5. Python算法:精通Python语言的基本算法
  6. Thomas Cormen解锁的算法

参考:


4
为什么你推荐这些?
拉斐尔

3
特别是,为什么您要回答Cormen等人的“算法导论”,以回答一个问题,要求本书超越本书。
David Richerby '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.