《数据结构习题与解答 Java语言描述》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)John R.Hubbard著;阳国贵等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111108299
  • 页数:428 页
图书介绍:本书介绍了网络环境下体现软件工程和面向对象理念的JAVA编程语言,讲述了它的面向对象、分布式、可移植性等诸多特点以及如何使用JAVA语言来实现各种主要的数据结构。全书使用了大量的源程序,从一个程序员的视角重新诠释了数据结构以及JAVA实现,是一本不可多得的好书。

第1章 Java回顾 1

1.1 面向对象的程序设计 1

1.2 程序设计语言Java 1

1.3 变量和对象 2

1.4 基本类型 3

1.5 流程控制 5

1.6 类 8

1.7 修饰符 11

1.8 String类 12

1.9 Math类 16

第2章 数组回顾 29

2.1 数组的特性 29

2.2 数组复制 31

2.3 Arrays类 32

2.4 顺序查找算法 37

2.5 折半查找算法 39

2.6 Vector类 42

3.1 继承 69

第3章 Java高级特性 69

3.2 多态性 70

3.3 类型转换 72

3.4 Object类 75

3.5 抽象类 78

3.6 接口 81

3.7 包 85

3.8 异常处理 85

第4章 递归 93

4.1 递归基和递归体 94

4.2 跟踪递归调用 95

4.3 递归折半查找算法 97

4.4 二项式系数 99

4.5 欧几里德算法 100

4.6 正确性的归纳证明 101

4.7 递归算法的复杂性分析 101

4.8 动态规划 102

4.9 汉内塔 103

4.10 互递归 105

5.1 Java汇集框架 119

第5章 汇集 119

5.3 AbstractCollection类 120

5.2 Collection接口 120

5.4 Bag类 122

5.5 Iterator接口 130

第6章 栈 137

6.1 Java中的Stack类 137

6.2 栈的应用 141

6.3 消去递归 144

7.1 队列框架 153

第7章 队列 153

7.2 顺序实现 156

7.3 链接实现 160

7.4 队列应用 162

第8章 线性表 178

8.1 java.util.List接口 178

8.2 java.util.List接口的实现 180

8.3 AbstractList与AbstractSequentialList类 181

8.4 线性表迭代器 182

8.5 ArrayList类 184

8.6 LinkedList类 186

8.7 独立线性表迭代器 197

第9章 树 204

9.1 树的定义 205

9.2 决策树与迁移图 207

9.3 有序树 210

9.4 有序树的树遍历算法 211

10.1 定义 220

第10章 二叉树 220

10.2 二叉树的计数 221

10.3 满二叉树 222

10.4 相同、相等和同构 223

10.5 完全二叉树 225

10.6 二叉树遍历算法 227

10.7 表达式树 229

10.8 二叉树类BinaryTree 231

10.9 遍历算法的实现 237

10.10 森林 240

第11章 搜索树 252

11.1 多路搜索树 252

11.2 B-树 254

11.3 二叉搜索树 257

11.4 二叉搜索树的性能特点 258

11.5 AVL树 259

11.6 类AVLTree 260

12.2 自然映射 268

12.1 堆 268

第12章 堆和优先队列 268

12.3 堆的插入 269

12.4 堆的删除 270

12.5 PriorityQueue类 271

12.6 Java的Comparator接口 272

12.7 优先队列的一个直接实现 275

第13章 排序 289

13.1 Java中的Arrays.sort()方法 289

13.2 冒泡排序 290

13.3 选择排序 292

13.4 插入排序 293

13.5 SHELL排序 294

13.6 归并排序 296

13.7 快速排序 299

13.8 堆排序 302

13.9 比较排序的速度限制 306

13.10 基数排序 307

13.11 吊桶排序 309

14.1 Java的Map接口 325

第14章 表 325

14.2 HashMap类 326

14.3 Java的Hash代码 328

14.4 Hash表 329

14.5 Hash表的性能 331

14.6 冲突消解算法 332

14.7 独立链 335

14.8 应用 336

14.9 TreeMap类 339

15.1 数学集合 348

第15章 集合 348

15.2 Java集合接口 349

15.3 Java AbstractSet类 349

15.4 Java HashSet类 350

15.5 Java TreeSet类 353

第16章 图 358

16.1 简单图 358

16.2 图的术语 358

16.3 路径与回路 359

16.4 同构图 361

16.5 图的邻接矩阵 363

16.6 图的关联矩阵 364

16.7 图的邻接表 364

16.8 有向图 365

16.9 有向图的路径 367

16.10 加权有向图和加权图 367

16.11 欧拉路径、欧拉回路、哈密顿路径、哈密顿回路 369

16.12 DIJKSTRA算法 369

16.13 图的遍历算法 373

A.1 下取整与上取整函数 393

附录A 基础数学知识 393

A.2 对数 394

A.3 复杂性分类 395

A.4 第一数学归纳法 397

A.5 第二数学归纳法 398

A.6 等比级数 399

A.7 求和公式 400

A.8 调和数 400

A.9 Stirling公式 402

A.10 斐波那契数 403

A.11 黄金分割 404

A.12 欧几里德算法 405

A.13 Catalan数 406

附录B 从C++到Java 416

附录C Java开发环境 419

C.1 Windows的命令窗口 419

C.2 Visual Cafe 419

附录D 参考文献 424