出版说明
献词
简介
第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章 红-黑树
0章 2-3-4树和外部存储
1章 哈希表
2章 堆
3章 图
4章 带权图
5章 应用场合
附录A 运行专题applet和示例程序
附录B 进一步学习
附录C 问题答案