代码之家  ›  专栏  ›  技术社区  ›  Srikanth

算法设计手册对初学者来说是一本好书吗?[关闭]

  •  39
  • Srikanth  · 技术社区  · 15 年前

    我很清楚big-o是什么,我也知道一些基本的排序算法,尽管出于某种原因,我对它们从来都不满意,我总是忘记它们。我已经用Java、Python、C和C++编程了4年,我一直是个不错的程序员。现在,我想超越学习编程语言,开始学习算法。

    我尝试过Carmen等人的“算法导论”。但是数学对我来说太密集了(或者,可能是,我对那本书中的数学来说太密集了)。

    现在,我打算学习史蒂夫·斯基纳的算法设计手册。你能给我推荐一下吗?如果你认为这不是我的建议,你还有其他建议吗?

    谢谢你的时间!

    9 回复  |  直到 12 年前
        1
  •  43
  •   High Performance Mark    12 年前

    我当然会推荐斯基纳的书。你已经开始学习算法,你也应该开始学习算法。

    编辑此答案并替换最后一次出现的单词的人 算法 用这个词 数学 我的意思是 算法 当我写这个答案的时候,我仍然是说 算法 ,将单词替换为 数学 实质上改变了答案。如果你认为数学是OP应该学习的,那么就把你自己的答案贴出来。如果你费心阅读下面的评论,你就会明白我为什么选择这个词了。 算法 而不是 数学 .

        2
  •  13
  •   yairchu    15 年前

    我建议你不要为了你的目的而去看“算法设计手册”,而是去浏览科尔曼或者维基百科。

    在简单介绍了基本算法主题之后,第171-437页并没有真正教你算法如何工作,也没有真正教你如何设计它们,而是更多地教你算法的存在以及在哪里找到它们的实现(有时它指的是你需要购买的实现,如线性编程部分)。

    例如,有3页关于矩阵乘法的文章,其中给出了一些有用的例子,给出了简单的o(n )算法,并提到有更好的算法,如strassen的o(n 二点八一 )(不描述算法),并建议您使用lapack库。

    因此,如果您想了解算法是如何工作的,而不是现有的算法以及在哪里找到它们的实现,我再次建议您不要使用“算法设计手册”。

        3
  •  2
  •   Jahanzeb Farooq    15 年前

    我最近买了算法设计手册,只看了前几章。这是一本好书,但在我看来(从目前为止我读到的内容来看):

    (1)密度不低于Cormen's。

    (2)更多的是算法的实际实现,而不是学习算法。

        4
  •  1
  •   brianegge    15 年前

    如果你负担得起(或者你的雇主支付),你用Java编程,我建议: Data Structures and Algorithms in Java . 它涵盖了你在其他书籍中发现的相同主题,但是如果你习惯于用Java编程,那么它很容易应用到一个理解。例如,C++数据结构的书籍通常不花费大量的时间在散列上,因为基于散列的结构在C++编程中并不常见。然而,在爪哇,散列是非常常见的,每个对象都有一个哈希代码方法。这本书结合了理论和实践。

    alt text http://ecx.images-amazon.com/images/I/51w6USIIpxL._SL160_.jpg

        5
  •  0
  •   user138512    15 年前

    如果你想要一个脚踏实地的方法,加上一点数学试一试 Algorithms in a Nutshell -实际上我是一个 享受 读了它,这是超过我所能说的克努斯大师作品。(好吧,在克努斯有几页很有启发性,可以称之为 乐趣 。)

        6
  •  0
  •   Zerka Jahanzeb    15 年前

    不,我不这么认为。尝试 Data Structures and Algorithms in 24 Hours 罗伯特·拉福。

        7
  •  -1
  •   Randell    15 年前
        8
  •  -2
  •   Donut    12 年前

    以下是一些建议:

    • aho&ulman-“算法和数据结构”
    • VHIRT
    • Donald E.Knuth-“计算机编程艺术”
        9
  •  -3
  •   Manu JCasso    15 年前

    “算法简介”作者:Cormen,Leiserson&Rivest。见 http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937