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

我知道C和C + +,我有一些Java的经验,但我不太了解algorithm和数据结构。

我在亚马逊search了一下,但是我不知道该选什么书。 我不想要一本只在理论部分提出它的基础的书。 我也想要实际的部分(可能比理论的更:))。

我不希望代码以某种语言来实现,但如果是在Java中,我可能会更快乐。 🙂

替代文字

不要购买任何书籍使用

MIT OCW

algorithm介绍 Cormen et。 人。 是一本标准的入门algorithm书,被许多大学使用,包括我自己的。 它有很好的覆盖面,非常平易近人。

而罗伯特·斯瑞维克的任何事情都不错。

如果您想要在Java中专门实现这些algorithm,那么请参阅Mitchell Waite的系列丛书“Java中的数据结构和algorithm”。 它从链接列表,堆栈和队列等基本数据结构以及用于sorting和search的基本algorithm开始。 通过它的工作,你将最终得到树数据结构,红黑树,2-3树和graphics。

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

我认为algorithm的介绍是参考书,对任何严肃的程序员都是必须的。

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

其他有趣的书是algorithmdevise手册http://www.algorist.com/ 。 它涵盖更复杂的algorithm。

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

如果你不需要完整的参考大部分正在使用的algorithm和数据结构,只是想了解一些常用的技术,我会推荐比Cormen,Sedgewick或者Knuth更轻量级的东西。 我认为,即使是在很远的时候印刷出来,N.Wirth的algorithm和数据结构也不是不好的select。

数字食谱