本书以Java语言为实现语言,全面、深入地阐述了数据结构的基本原理及其实现。学生通过学习方法描述和应用,可以逐步理解并有效地使用数据结构,还可以了解这些数据结构的多种实现,包括在Java集合框架中提供的一些实现。
本书内容非常丰富,且在每章章尾提供编程项目,以帮助学生提高实践能力。他们可以从基础开始构建,也可以扩展本书中的应用程序。本书还附有一些可选的实验,它给学生提供了实践所学概念的机会,以此来强化书中介绍的概念。
全书共分十四章:第1章作为全书后续章节的基础,描述了Java的特性。第2章介绍了抽象类和接口,每个专题都有实验。第3章介绍了软件工程,概括了软件开发周期的4个阶段:分析、设计、实现以及维护。第4章介绍了回溯。第5章从ArrayList数据结构和类开始学习Java集合框架。 第6章介绍了LinkedList数据结构和类,刻画了如何使用线性方法在任意位置进行插入、删除和检索。第7章的主题是队列和堆栈。 第8章论述了一般的二叉树,然后特别地介绍二叉搜索树。第9章我们将着重讨论平衡二叉搜索树,以及AVL树和red-black树。第10章的重点是red—black树,利用Java集合框架中的TreeMap和TreeSet类来实现。第11章介绍了PriorityQueue接口,它目前还不属于Java集合框架。 第12章的主题是排序。 第13章首先回顾了顺序检索和二叉树检索,然后研究了散列方法。第14章介绍了最通用的数据类型,即图、树以及网络。
每一章均有一个网页包含那一章中开发的所有程序以及印plet,恰当地演示了所介绍的概念。