这是一本有关计算机编程中所应用的数据结构和算法的书,以一种易懂的方式教授如何安排和操纵数据,其中不乏一些难题,了解这些知识可以使计算机的应用获得更好的表现。本书提供了一套独创的可视讨论专题用以阐明主要的论题,并使用Java语言说明重要的概念,从而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。在本书中,作者提供了许多简单明了的例子,避免了对于这类命题常见的冗长、繁琐的数学证明;在第二版中,还利用Java语言的新特性修改并扩充了这些例子。在每章的最后都有问题和练习,使读者有机会测试自己对相关知识的理解程度。通过学习本书,你可以学会如何为常见和不太常见的编程条件选择正确的算法;利用数据结构和算法为现实世界的处理过程建模;了解不同的数据结构的优缺点,考虑如何利用它们改进编程的效率;学会如何用面向对象的编程简化数据结构和算法。