出版说明
献 词
简 介
第1章 综述
数据结构和算法能起到什么作用?
数据结构的概述
算法的概述
一些定义
面向对象编程
软件工程
对于C++程序员的Java
Java数据结构的类库
小结
问题
第2章 数组
Array专题Applet
Java中数组的基础知识
将程序划分成类
类接口
Ordered专题applet
有序数组的Java代码
对数
存储对象
大O表示法
为什么不用数组表示一切?
小结
问题
实验
编程作业
第3章 简单排序
如何排序?
冒泡排序
选择排序
插入排序
对象排序
几种简单排序之间的比较
小结
问题
实验
编程作业
第4章 栈和队列
不同的结构类型
栈
队列
优先级队列
解析算术表达式
小结
问题
实验
编程作业
第5章 链表
链结点(Link)
LinkList专题Applet
单链表
查找和删除指定链结点
双端链表
链表的效率
抽象数据类型
有序链表
双向链表
迭代器
小结
问题
实验
编程作业
第6章 递归
三角数字
阶乘
变位字
递归的二分查找
汉诺(Hanoi)塔问题
归并排序
消除递归
一些有趣的递归应用
小结
问题
实验
编程作业
第7章 高级排序
希尔排序
划分
快速排序
基数排序
小结
问题
实验
编程作业
第8章 二叉树
为什么使用二叉树?
树的术语
一个类比
二叉搜索树如何工作
查找节点
插入一个节点
遍历树
查找最大值和最小值
删除节点
二叉树的效率
用数组表示树
重复关键字
完整的tree.java程序
哈夫曼(Huffman)编码
小结
问题
实验
编程作业
第9章 红-黑树
本章讨论的方法
平衡树和非平衡树
使用RBTree专题applet
用专题applet做试验
旋转
插入一个新节点
删除
红-黑树的效率
红-黑树的实现
其他平衡树
小结
问题
实验
第10章 2-3-4树和外部存储
2-3-4 树的介绍
Tree234专题applet
2-3-4 树的Java代码
2-3-4 树和红-黑树
2-3-4 树的效率
2-3 树
外部存储
小结
问题
实验
编程作业
第11章 哈希表
哈希化简介
开放地址法
链地址法
哈希函数
哈希化的效率
哈希化和外部存储
小结
问题
实验
编程作业
第12章 堆
堆的介绍
Heap专题applet
堆的Java代码
基于树的堆
堆排序
小结
问题
实验
编程作业
第13章 图
图简介
搜索
最小生成树
有向图的拓扑排序
有向图的连通性
小结
问题
实验
编程作业
第14章 带权图
带权图的最小生成树
最短路径问题
每一对顶点之间的最短路径问题
效率
难题
小结
问题
实验
编程作业
第15章 应用场合
通用数据结构
专用数据结构
排序
图
外部存储
前进
附录A 运行专题applet和示例程序
专题applet
示例程序
Sun Microsystem软件开发工具集
重名的类文件
其他开发系统
附录B 进一步学习
数据结构和算法
面向对象程序语言
面向对象设计(OOD)和软件工程
附录C 问题答案
第1章, 综述
第2章, 数组
第3章, 简单排序
第4章, 栈与队列
第5章, 链表
第6章, 递归
第7章, 高级排序
第8章, 二叉树
第9章, 红-黑树
第10章, 2-3-4树和外部存储
第11章, 哈希表
第12章, 堆
第13章, 图
第14章, 带权图