《数据结构学习指导与习题解答 原书第2版 Java语言版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)哈伯德著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302274636
  • 页数:399 页
图书介绍:本书以Java为描述语言,介绍了数据结构的相关内容。

第1章 面向对象编程 1

1.1 软件设计和开发 1

1.2 面向对象设计 2

1.3 抽象数据类型 3

1.4 Java接口 4

1.5 类和对象 5

1.6 修饰符 9

1.7 组合、聚合和继承 11

1.8 统一建模语言 14

1.9 多态 16

1.10 Javadoc 18

复习题 19

习题 19

复习题答案 21

习题答案 22

第2章 数组 30

2.1 数组特性 30

2.2 数组复制 32

2.3 java.util.Array类 33

2.4 顺序查找算法 35

2.5 折半查找算法 36

复习题 38

习题 39

复习题答案 44

习题答案 44

第3章 链接的数据结构 58

3.1 维护有序阵列 58

3.2 间接引用 59

3.3 链接的结点 62

3.4 将元素插入到链接列表 69

3.5 在列表头插入元素 72

3.6 从有序链接列表删除元素 74

3.7 嵌入类 75

复习题 77

习题 78

复习题答案 80

习题答案 80

第4章 Java集合框架 87

4.1 继承层次结构 87

4.2 Collection接口 88

4.3 HashSet类 90

4.4 泛型集合 92

4.5 泛型方法 94

4.6 泛型通配符 95

4.7 迭代器 96

4.8 TreeSet类 99

4.9 LinkedHashSet类 103

4.10 EnumSet类 103

4.11 List接口 105

4.12 ArrayList和Vector类 106

4.13 LinkedList类 107

4.14 ListIterator接口 108

4.15 Queue接口 108

4.16 PriorityQueue类 111

4.17 Deque接口和ArrayDeque类 112

4.18 Map接口及其实现类 114

4.19 Arrays类 117

4.20 Collections类 118

4.21 自动装箱 120

复习题 121

习题 122

复习题答案 123

习题答案 124

第5章 栈 127

5.1 栈操作 127

5.2 JCF Stack类 127

5.3 Stack接口 128

5.4 使用索引的实现 129

5.5 使用链接的实现 131

5.6 将公共代码抽象化 133

5.7 应用:RPN计算器 134

复习题 137

习题 137

复习题答案 140

习题答案 141

第6章 队列 147

6.1 队列操作 147

6.2 JCF Queue接口 147

6.3 简单的Queue接口 148

6.4 使用索引的实现:数组方式 149

6.5 使用索引的实现:双向链表 151

6.6 应用:客户—服务器系统 153

复习题 159

习题 159

复习题答案 161

习题答案 161

第7章 线性表 167

7.1 JCF List接口 167

7.2 范围视图操作sublist() 168

7.3 线性表迭代器 170

7.4 其他线性表类型 174

7.5 应用:Josephus问题 178

7.6 应用:Polynomial类 180

复习题 185

习题 185

复习题答案 186

习题答案 187

第8章 哈希表 190

8.1 Java的Map接口 190

8.2 HashMap类 191

8.3 Java的哈希码 193

8.4 哈希表 194

8.5 哈希表的性能 196

8.6 冲突消解算法 197

8.7 独立链 201

8.8 应用 202

8.9 TreeMap类 205

复习题 206

习题 206

复习题答案 207

习题答案 208

第9章 递归 211

9.1 简单的递归函数 211

9.2 递归基础条件和递归部分 212

9.3 跟踪递归调用 214

9.4 递归折半查找算法 215

9.5 二项式系数 217

9.6 欧几里得算法 218

9.7 正确性的归纳证明 219

9.8 复杂性分析 220

9.9 动态规划 221

9.10 汉诺塔 222

9.11 互递归 224

复习题 227

习题 227

复习题答案 229

习题答案 229

第10章 树 239

10.1 树的定义 239

10.2 决策树 241

10.3 迁移图 242

10.4 有序树 244

10.5 遍历算法 245

复习题 247

习题 249

复习题答案 250

习题答案 251

第11章 二叉树 254

11.1 定义 254

11.2 二叉树的计数 255

11.3 满二叉树 256

11.4 相同、相等和同构 257

11.5 完全二叉树 259

11.6 二叉树遍历算法 261

11.7 表达式树 263

11.8 二叉树类BinaryTree 265

11.9 遍历算法的实现 271

11.10 森林 276

复习题 276

习题 277

复习题答案 279

习题答案 280

第12章 搜索树 287

12.1 多路搜索树 287

12.2 B-树 289

12.3 二叉搜索树 292

12.4 二叉搜索树的性能 293

12.5 AVL树 294

复习题 298

习题 298

复习题答案 299

习题答案 299

第13章 堆和优先级队列 303

13.1 堆 303

13.2 自然映射 303

13.3 堆的插入 304

13.4 堆的删除 305

13.5 优先级队列 306

13.6 JCF PriorityQueue类 306

复习题 308

习题 309

复习题答案 310

习题答案 310

第14章 排序 314

14.1 代码说明 314

14.2 Java的Arrays.sort()方法 315

14.3 冒泡排序 316

14.4 选择排序 317

14.5 插入排序 318

14.6 SHELL排序 319

14.7 归并排序 320

14.8 快速排序 324

14.9 堆排序 327

14.10 比较排序的速度限制 331

14.11 基数排序 331

14.12 桶排序 333

复习题 336

习题 338

复习题答案 340

习题答案 342

第15章 图 352

15.1 简单图 352

15.2 图的术语 352

15.3 路径与回路 353

15.4 同构图 355

15.5 图的邻接矩阵 357

15.6 图的关联矩阵 358

15.7 图的邻接表 358

15.8 有向图 359

15.9 有向图的路径 361

15.10 加权有向图和加权图 362

15.11 欧拉路径和哈密顿回路 363

15.12 Dijkstra算法 364

15.13 图的遍历算法 368

复习题 373

习题 374

复习题答案 379

习题答案 380

附录A 基础数学知识 388

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

A.2 对数 388

A.3 渐进复杂性分类 389

A.4 第一数学归纳法原理 390

A.5 第二数学归纳法原理 391

A.6 等比级数 392

A.7 求和公式 393

A.8 调和数 393

A.9 Stirling公式 394

A.10 斐波那契数列 395

复习题 395

习题 396

复习题答案 396

习题答案 397