《数据结构与抽象:Java语言描述(第4版)》是一本极其优秀的数据结构教材,书中采用的Java语言与数据结构这两条主线贯穿始终,非常容易让读者理解和掌握这两个知识点,本书涵盖了29章的内容,每章介绍一个ADT或其不同实现的规格说明和用法,让读者能够更全面地了解和掌握数据结构和算法的使用,不仅如此,书中还提供了大量的示例代码和练习题,有助于读者巩固和应用所学知识,对于Java程序员和学习数据结构的读者而言,这本书是一本不可或缺的参考资料。
好书,这本书是我见过的最适合入门的数据结构了,第四版比第三版厚,因为里面多加了很多javase的知识,第三版是电子工业出版社出版的,京东自营也有卖的,不过第三版和第四版都有一个最蛋疼的地方,就是网上没有源码下载
很经典,很不错。
确切的说,可以用“精彩”来形容这本书。
讲解那些许多复杂的算法,用生活中常遇到的事例进行讲解,深入浅出,很容易理解。
很值得收藏
内容简介
本书是一本数据结构的教材,Java语言与数据结构两条知识主线贯穿始终,这两条主线既相互独立又相互支撑。本书介绍了计算机编程中使用的数据结构和算法,包括29章,每章涉及一个ADT或其不同实现的规格说明和用法;书中贯穿9个Java插曲,涉及Java的高级特性。本书主要讲述了组织数据、设计类、包、栈、递归、排序、队列、双端队列、优先队列、线性表、有序表、查找、字典、散列、树、二叉查找树、堆、平衡查找树、图等内容,并对算法的效率进行了分析。本书非常适合作为大学本科生数据结构课程的教材,也可作为计算机研究与开发人员的参考书。
新版修改内容
第1章除包之外,还介绍了ADT集合(set)。
第2章介绍了安全可靠的程序设计方法。本章建议修改的代码已集成到后续各章的所有ADT的实现中。
第5和6章在ADT栈的规格说明及实现中用到了异常。
第8和9章用伪代码代替一些排序方法的Java代码。
第10和11章在ADT队列、双端队列及优先队列的规格说明和实现中用到了异常。
第11章不再包含基于向量实现ADT队列的内容,这些内容留作程序设计项目。
第12、13和14章在ADT线性表的规格说明及实现中用到了异常。
第13章修改了ADT线性表基于数组的实现,忽略了数组元素从下标0开始。不再包含基于向量实现ADT线性表的内容,但留作程序设计项目。
第15章仅涉及ADT线性表的迭代器。Java中迭代器的概念放在前面的Java插曲5中,而不是放在这一章中。
第20章不再包含基于向量实现ADT字典的内容,这些内容留作程序设计项目。
第23章定义了平衡二叉树,前一版放在第25章中。
第24章不再定义二叉链表结点的接口,类BinaryNode也不再实现这个接口。
如何学习本书本书讨论的内容涉及数据的不同组织方法,以便所给的应用程序能以高效的方式访问并处理数据。这些内容是你未来进一步学习计算机科学知识所不可或缺的,因为它们是创建复杂、可靠软件所必需的基础知识。不论你是对设计视频游戏感兴趣,还是对设计机器人控制手术的软件感兴趣,学习数据结构都是走向成功的必经之路。即使你现在没有学完本书的全部内容,在后面的学习中也还可能会遇到相关话题。我们希望你享受阅读本书的过程,希望本书能成为你未来课程学习的有用参考资料。
目录
- Data Structures and Abstractions with Java, Fourth Edition
- 出版者的话
- 译者序
- 前言
- 引言 组织数据 1
- 序言 设计类 3
- 第1章 包 22
- Java插曲1 泛型 39
- 第2章 使用数组实现包 43
- Java插曲2 异常 75
- 第3章 使用链式数据实现包 82
- 第4章 算法的效率 102
- 第5章 栈 121
- 第6章 栈的实现 142
- 第7章 递归 154
- Java插曲3 再谈泛型 185
- 第8章 排序简介 194
- 第9章 更快的排序方法 213
- Java插曲4 再谈异常 231
- 第10章 队列、双端队列和优先队列 238
- 第11章 队列、双端队列和优先队列的实现 262