《数据结构 Java语言版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:雷军环,吴名星编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302418429
  • 页数:222 页
图书介绍:本书通过典型任务创设学习情境,详细介绍了数据结构相关知识。全书共分9章,详细讲述了几种经典数据结构:线性表、栈、队列、串、树、图的逻辑结构与存储结构,两种经典算法排序和查找算法的思想和实现过程。

第1章 绪论 1

1.1 引言 1

1.1.1 从问题到程序的基本过程 1

1.1.2 什么是数据结构 4

1.2 数据结构基本概念 5

1.2.1 数据 5

1.2.2 数据元素 5

1.2.3 数据项 5

1.3 逻辑结构与存储结构 6

1.3.1 数据的逻辑结构 6

1.3.2 数据的存储结构 7

1.4 认识算法 8

1.4.1 算法的定义 8

1.4.2 算法的特征 8

1.4.3 算法性能分析与度量 9

1.5 抽象数据类型 10

本章小结 10

综合练习 11

第2章 线性表 13

2.1 认识线性表 13

2.1.1 线性表的逻辑结构 14

2.1.2 线性表的基本操作 14

2.1.3 线性表的抽象数据类型 15

2.2 线性表的实现 15

2.2.1 用顺序表实现线性表 15

2.2.2 用单链表实现线性表 21

2.2.3 用双向链表实现线性表 30

2.2.4 用循环链表实现线性表 37

2.3 线性表的应用 37

2.3.1 用顺序表实现约瑟夫环 37

2.3.2 用单链表实现约瑟夫环 40

2.3.3 用Java类实现约瑟夫环 40

2.3.4 独立实践 41

2.4 度量不同存储结构的算法效率 42

2.4.1 分析顺序表的算法效率 42

2.4.2 分析单链表的算法效率 43

本章小结 44

综合练习 44

第3章 堆栈 46

3.1 认识堆栈 46

3.1.1 堆栈的逻辑结构 47

3.1.2 堆栈的基本操作 47

3.1.3 堆栈的抽象数据类型 48

3.2 堆栈的实现 48

3.2.1 用顺序栈实现堆栈 48

3.2.2 用链栈实现堆栈 52

3.3 堆栈的应用 55

3.3.1 用顺序栈实现迷宫路径搜索问题的求解 55

3.3.2 用链式栈实现迷宫路径搜索问题的求解 59

3.3.3 用Java类库实现迷宫路径搜索问题的求解 59

3.3.4 独立实践 60

本章小结 61

综合练习 61

第4章 解决队列的编程问题 63

4.1 认识队列 63

4.1.1 队列的逻辑结构 64

4.1.2 队列的基本操作 64

4.1.3 队列的抽象数据类型 64

4.2 队列的实现 65

4.2.1 用顺序队列实现队列 65

4.2.2 用链队列实现队列 69

4.3 队列的应用 73

4.3.1 用顺序队列实现银行排队叫号服务 73

4.3.2 用链队列实现银行排队叫号服务 75

4.3.3 用Java类库实现银行排队叫号服务 76

4.3.4 独立实践 76

本章小结 77

综合练习 77

第5章 串 79

5.1 认识串 80

5.1.1 串的逻辑结构 80

5.1.2 串的基本操作 81

5.1.3 串的抽象数据类型 81

5.2 Java的字符串类 82

5.2.1 Java中的字符串类String 82

5.2.2 Java中的字符串类StringBuilder和StringBuffer 88

5.3 串的应用 91

5.3.1 用串解决“以一敌百”游戏的编程 91

5.3.2 独立实践 94

本章小结 94

综合练习 95

第6章 二叉树 96

6.1 认识二叉树 97

6.1.1 二叉树的逻辑结构 97

6.1.2 二叉树的基本操作 100

6.1.3 二叉树的抽象数据类型 100

6.2 二叉树的实现 101

6.2.1 二叉树的顺序存储 101

6.2.2 二叉树的链式存储 102

6.3 二叉树的遍历方法及递归实现 106

6.4 二叉树的应用 111

6.4.1 哈夫曼树的基本概念 111

6.4.2 使用哈夫曼树的算法求报文字符编码 113

6.4.3 报文传输编码的实现 115

6.4.4 独立实践 121

本章小结 121

综合练习 122

第7章 图 123

7.1 认识图 123

7.1.1 图的逻辑结构 123

7.1.2 图的基本操作 125

7.1.3 图的抽象数据类型 125

7.2 图的实现 126

7.2.1 用邻接矩阵实现图 126

7.2.2 用邻接表实现图 132

7.2.3 图遍历算法的实现 139

7.2.4 图最短路径算法的实现 146

7.3 图的应用 152

7.3.1 用邻接矩阵解决高速公路交通网的编程 152

7.3.2 用邻接表解决高速公路交通网的编程 156

7.3.3 独立实践 159

本章小结 159

综合练习 159

第8章 排序 161

8.1 认识排序 161

8.1.1 排序概念 162

8.1.2 排序的分类 162

8.2 插入排序 163

8.2.1 直接插入排序 163

8.2.2 希尔排序 166

8.3 选择排序 168

8.3.1 直接选择排序 168

8.3.2 堆排序 169

8.4 交换排序 174

8.4.1 冒泡排序 174

8.4.2 快速排序 175

8.5 归并排序 178

8.6 基数排序 181

8.7 排序的应用 184

8.7.1 编程实现第29届奥运会奥运奖牌的排名 184

8.7.2 独立实践 189

本章小结 190

综合练习 191

第9章 查找 192

9.1 认识查找 193

9.2 线性表查找技术 193

9.2.1 顺序查找 193

9.2.2 二分查找 196

9.2.3 分块查找 199

9.3 树表查找技术 202

9.3.1 认识二叉排序树 202

9.3.2 构建二叉排序树 203

9.4 哈希表查找技术 207

9.4.1 认识哈希表 207

9.4.2 构造哈希函数 209

9.4.3 解决哈希冲突 210

9.4.4 哈希表查找的算法实现 212

9.4.5 分析哈希表的性能 214

9.5 查找的应用 215

9.5.1 编程实现查找和管理某公司员工信息 215

9.5.2 独立实践 219

本章小结 220

综合练习 220

参考文献 222