数据结构Java语言描述(第2版)

数据结构Java语言描述(第2版)
作 者: Duane Bailey 李化 高树静 李化
出版社: 清华大学出版社
丛编项: 国外计算机科学经典教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《数据结构Java语言描述(第2版)》作者简介

内容简介

这是一本阐述如何在现代编程语言Java中创建和分析传统数据结构的书籍。全书首先介绍Java面向对象的编程方法和良好的编程风格,然后系统讲解了向量、程序设计的基础知识、排序、接口、迭代器、列表、线性数据结构、有序数据结构、二义树、优先队列、查找树、映射和图。在每章中都提供了相应的原理、练习、实例、实验和思考题。附录中提供了各章部分问题的答案、Java编程基础知识和术语表等内容。本书特色·章——每章讲述—个主题,每种数据结构独立成章。·基本概念——每章开头列出本章将要学习的主要内容。·练习——结合所讲具体内容进行针对性的练习。·原理——在设计数据结构方面应遵守的一些主要原则。·自测题——通过自测题,回顾本章的知识点。·本章问题——通过设计和扩展练习检测本章所学内容。·实验——针对各章土题,进行动手练习。

图书目录

第1章 面向对象的方法

1. 1 数据抽象和封装

1. 2 对象模型

1. 3 面向对象术语

1. 4 一个特殊用途类:银行账户

1. 5 一般用途类:关联

1. 6 示例概述:字列表

1. 7 示例概述:矩形类

1. 8 接口

1. 9 用户

1. 10 本章小结

1. 11 实验:周日期的计算器

第2章 注释. 条件和断言

2. 1 前提条件和后置条件

2. 2 断言

2. 3 艺术品

2. 4 本章小结

2. 5 实验:使用Javadoc写注释

第3章 向量

3. 1 接口

3. 2 示例:字列表回顾

3. 3 示例:字频率

3. 4 实现

3. 5 可扩展性

3. 6 示例:L系统

3. 7 示例:基于向量的集合

3. 8 示例:矩阵类

3. 9 本章小结

3. 10 实验:银元游戏

第4章设计基础

4. 1 渐进分析工具

4. 1. 1 时间和空间复杂度

4. 1. 2 示例

4. 1. 3 时间和空间的折中

4. 1. 4 后包线估计

4. 2 自引用

4. 2. 1 递归

4. 2. 2 数学归纳法

4. 3 设计特性

4. 3. 1 对称性

4. 3. 2 摩擦

4. 4 本章小结

4. 5 实验:验证Java的速度

第5章 排序

5. 1 概述

5. 2 选择排序法

5. 3 插入排序法

5. 4 归并排序

5. 5 快速排序

5. 6 基数排序

5. 7 对象排序

5. 8 用比较器排列对象

5. 9 基于向量的排序

5. 10 本章小结

5. 11 实验:用比较器排序

第6章 一种设计方法

6. 1 基于接口的方法

6. 1. 1 接口的设计

6. 1. 2 抽象实现

6. 1. 3 实现

6. 2 示例:生成器的开发

6. 3 示例:玩纸牌

6. 4 本章小结

第7章 迭代器

7. 1 Java的枚举接口

7. 2 迭代器接口

7. 3 示例:向量迭代器

7. 4 示例:回顾生成器

7. 5 示例:过滤迭代器

7. 6 本章小结

7. 7 实验:双塔问题

第8章 列表

8. 1 示例:惟一程序

8. 2 示例:自由列表

8. 3 部分实现, 抽象列表

8. 4 实现:单链表

8. 5 实现:双链表

8. 6 实现:循环链表

8. 7 实现:向量

8. 8 列表迭代器

8. 9 本章小结

8. 10 实验:具有哑元节点的列表

第9章 线性数据结构

9. 1 堆栈

9. 1. 1 示例:模拟递归

9. 1. 2 基于向量的堆栈

9. 1. 3 基于列表的堆栈

9. 1. 4 比较

9. 2 队列

9. 2. 1 示例:解决一个硬币问题

9. 2. 2 基于列表的队列

9. 2. 3 基于向量的队列

9. 2. 4 基于数组的队列

9. 3 示例:解决迷宫问题

9. 4 本章小结

9. 5 示例:一种基于堆栈的语言

9. 6 实验:Web爬虫

第10章 有序数据结构

10. 1 可比较对象回顾

10. 1. 1 实例:可比较的Ratio类

10. 1. 2 示例:可比较的Association类

10. 2 保持数据结构有序

10. 2. 1 OrderedStructure接口

10. 2. 2 有序向量和二分查找

10. 2. 3 示例:排序回顾

10. 2. 4 基于比较器的方法

10. 2. 5 有序列表

10. 2. 6 示例:修改停车场问题

10. 3 本章小结

10. 4 实验:计算最好的

第11章 二叉树

11. 1 术语

11. 2 实例:家谱表

11. 3 实例:符号树

11. 4 实现

11. 5 实例:专家系统

11. 6 叉树遍历

11. 6. 1 先序遍历

11. 6. 2 中序遍历

11. 6. 3 后序遍历

11. 6. 4 层序遍历

11. 6. 5 迭代器中的递归

11. 7 基于特性的方法

11. 8 示例:霍夫曼压缩

11. 9 示例实现:ahnentafel

11. 10 本章小结

11. 11 实验:Gardener的Hex-a-Pawn游戏

第12章 优先队列

12. 1 接口

12. 2 示例~Huffman代码改进

12. 3 基于向量的实现

12. 4 一种堆实现

12. 4. 1 基于向量的堆

12. 4. 2 示例:堆排序

12. 4. 3 偏斜堆

12. 5 示例:电路模拟

12. 6 本章小结

12. 7 实验:模拟商业活动

第13章 查找树

13. 1

分查找树

13. 2 示例:树排序

13. 3 示例:关联数据结构

13. 4 实现

13. 5 伸展树

13. 6 伸展树实现

13. 7 红黑树

13. 8 本章小结

13. 9 实验:改进BinarySearchTree

第14章 映射

14. 1 示例回顾:符号表

14. 2 接口

14. 3 简单实现:MapList

14. 4 常数时间的映射:散列表

14. 4. 1 开放式寻址

14. 4. 2 外部链接

14. 4. 3 散列码的生成

14. 4. 4 集合类的散列码

14. 4. 5 性能分析

14. 5 有序映射和表

14. 6 示例:文档索引

14. 7 本章小结

14. 8 实验:Soundex名字查找系统

第15 图

15. 1 术语

15. 2 Graph接口

15. 3 实现

15. 3. 1 重新强调抽象类

15. 3. 2 邻接矩阵

15. 3. 3 邻接表

15. 4 示例:普通的图算法

15. 4. 1 可达性

15. 4. 2 拓扑排列

15. 4. 3 传递闭包

15. 4. 4 所有顶点对的最小距离

15. 4. 5 贪心算法

15. 5 本章小结

15. 6 实验:在单位之间进行转换

附录A 答案

A. 1 自测题答案

A. 2 奇数问题的答案

附录B Java入门

B. 1 第一个程序

B. 2 声明

B. 2. 1 简单类型

B. 2. 2 引用类型

B. 3 重要的类

B. 3. t ReadStream类

B. 3. 2 PrintStream类

B. 3. 3 字符串

B. 4 控制结构

B. 4. 1 条件语句

B. 4. 2 循环

B. 5 方法

B. 6 继承和子类型化

B. 6. 1 继承

B. 6. 2 子类型化

B. 6. 3 接口和抽象类

B. 7 使用assert命令

B. 8 关键字Protected的使用

附录C 集合

C. 1 集合类的特性

C. 2 并行特性

C. 3 变换

附录D 文档

D. 1 结构包层次结构

D. 2 原理

附录E 环境

E. 1 软件下载

E. 2 建库

E. 3创建工程站

附录F 深入阅读

附录G 术语表