我应该购买哪些数据结构和算法书?

Hei*_*Hei 45 algorithm data-structures

我知道C和C++,我有一些Java经验,但我不太了解算法和数据结构.

我在亚马逊上搜索过,但我不知道应该选择哪本书.我不想要一本仅以理论部分为基础的书; 我也想要实用的部分(可能超过理论部分:)).

我不希望代码以某种语言实现,但如果是在Java中,我可能会更高兴.:)

Pra*_*are 30

替代文字

不要买任何书籍

MIT OCW

.

  • 就个人而言,我的事情太过数学,不太了解. (20认同)
  • 我跳过了数学部分 (2认同)
  • 一本枯燥的书太多了。它很大,绝对不适合初学者。和方式不适合自学者。 (2认同)

Pet*_*der 19

Cormen等人的算法简介.人.是一本标准的入门算法书,被许多大学使用,包括我自己的.它有很好的覆盖率,非常平易近人.

由罗伯特·塞奇威克东西也不错.

  • CLRS对我来说100%自学感觉不太平易近人。对于像您这样能够进入 Facebook 之类的非常聪明的人来说,这可能是平易近人的。但是,谢谢你的建议。 (2认同)

fab*_*ioM 6

我认为算法的入门是参考书,对于任何认真的程序员来说都是必备的.

http://en.wikipedia.org/wiki/Introduction_to_Algorithms

其他有趣的书是算法设计手册http://www.algorist.com/.它涵盖了更复杂的算法.

我不能不提到Knuth的计算机编程艺术 http://www-cs-faculty.stanford.edu/~knuth/taocp.html


Il-*_*ima 5

如果您希望算法专门用Java实现,那么就有Mitchell Waite的系列丛书"Java中的数据结构和算法".它从链接列表,堆栈和队列等基本数据结构开始,以及用于排序和搜索的基本算法.通过它,您将最终获得树数据结构,红黑树,2-3树和图.

总而言之,它并不是一本非常理论化的书,但如果你只想用你熟悉的语言进行介绍那么它就是一本好书.在一天结束时,如果你想要更深入地理解算法,你将不得不学习一些更理论的概念,并阅读其中一本经典着作,如Cormen/Leiserson/Rivest/Stein的算法导论.


Zmi*_*nka 5

如果您不需要完整参考正在使用的大部分算法和数据结构,而只是想熟悉常用技术,我会推荐比 Cormen、Sedgewick 或 Knuth 更轻量级的东西。我认为, N. Wirth 的《算法和数据结构》并不是一个糟糕的选择,尽管它已经出版很久了。