《数据结构》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:胡大威主编;祁淑霞,陈兴无,于谦副主编
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2013
  • ISBN:9787560629704
  • 页数:232 页
图书介绍:本书系统地介绍了各种典型数据结构的基本概念、存储结构以及各种预算的原理和算法。本书共分11章,内容包括:绪论、线性表、栈和队列、串、数组和广义表、树、图、查找、内部排序、外部排序和文件以及实习部分等。

第1章 绪论 1

1.1 基本术语和基本运算 1

1.1.1 基本术语 1

1.1.2 基本运算 7

1.2 算法描述和算法分析 8

1.2.1 算法 8

1.2.2 算法描述 9

1.2.3 算法分析 9

习题1 12

第2章 线性表 15

2.1 线性表 15

2.1.1 线性表 15

2.1.2 线性表的运算 16

2.1.3 线性表在计算机内的存储方式 17

2.2 线性表的顺序存储结构 17

2.2.1 基本概念 17

2.2.2 线性表顺序存储结构的描述 18

2.2.3 线性表顺序存储结构运算 18

2.2.4 线性表顺序存储结构的优缺点 22

2.3 线性表的链式存储结构 23

2.3.1 基本概念 23

2.3.2 单链表 23

2.3.3 循环链表 32

2.3.4 双向链表 34

2.3.5 线性表链式存储结构的优缺点 37

习题2 38

第3章 栈和队列 41

3.1 栈 41

3.1.1 栈的基本概念 41

3.1.2 栈的基本运算 42

3.2 栈的存储结构 42

3.2.1 栈的顺序存储结构 42

3.2.2 栈的链式存储结构 44

3.2.3 栈的应用 45

3.3 队列 46

3.3.1 队列的基本概念 46

3.3.2 队列的基本运算 46

3.4 队列的存储结构 47

3.4.1 队列的顺序存储结构 47

3.4.2 循环队列 48

3.4.3 队列的链式存储结构 51

习题3 54

第4章 串 57

4.1 串的基本概念 57

4.2 串的基本运算 58

4.3 串的存储结构 59

4.3.1 串的顺序存储结构 59

4.3.2 串的链式存储结构 61

4.3.3 串的堆分配存储结构 62

4.4 串基本运算的实现 62

4.4.1 顺序方式存储串时的运算 62

4.4.2 链接方式存储串时的运算 64

习题4 65

第5章 数组和广义表 67

5.1 数组 67

5.1.1 数组的基本概念 68

5.1.2 数组的存储结构 69

5.2 矩阵的压缩存储 71

5.2.1 特殊矩阵 71

5.2.2 稀疏矩阵 74

5.3 广义表 79

5.3.1 广义表的基本概念 79

5.3.2 广义表的存储结构 81

5.3.3 广义表的运算 83

习题5 84

第6章 树 86

6.1 树 86

6.1.1 树的定义 86

6.1.2 树的基本术语 87

6.1.3 树的基本运算 88

6.2 二叉树 88

6.2.1 二叉树的概念 88

6.2.2 二叉树的性质 89

6.2.3 二叉树的存储结构 90

6.3 遍历二叉树 92

6.3.1 前序遍历 92

6.3.2 中序遍历 94

6.3.3 后序遍历 95

6.3.4 二叉树的其他运算 96

6.4 线索二叉树 102

6.4.1 线索二叉树的概念 102

6.4.2 线索二叉树的存储结构 103

6.4.3 线索二叉树的有关运算 104

6.5 树和森林 105

6.5.1 树的存储结构 105

6.5.2 树的二叉树表示 107

6.5.3 森林和二叉树的转换 108

6.5.4 树、森林的遍历 109

6.6 哈夫曼树及其应用 110

6.6.1 哈夫曼树 110

6.6.2 哈夫曼算法 111

6.6.3 哈夫曼编码 113

习题6 114

第7章 图 118

7.1 图的基本概念 118

7.1.1 图的定义 118

7.1.2 图的相关术语 119

7.2 图的存储结构 122

7.2.1 邻接矩阵 122

7.2.2 邻接表 125

7.3 图的遍历 128

7.3.1 深度优先搜索遍历 128

7.3.2 广度优先搜索遍历 129

7.4 最小生成树 132

7.4.1 生成最小树的普里姆算法 132

7.4.2 生成最小树的克鲁斯卡尔算法 134

7.5 关键路径 136

7.5.1 AOE网 136

7.5.2 关键路径的概念 137

7.5.3 关键路径的算法 138

7.6 最短路径 140

习题7 143

第8章 查找 146

8.1 基本概念 146

8.2 线性表的查找 148

8.2.1 顺序查找 148

8.2.2 二分查找 150

8.2.3 分块查找 152

8.2.4 顺序查找、二分查找和分块查找的比较 154

8.3 二叉排序树查找 154

8.3.1 二叉排序树的定义 155

8.3.2 二叉排序树的操作 155

8.4 哈希查找 160

8.4.1 哈希查找的概念 160

8.4.2 哈希函数 162

8.4.3 处理冲突的方法 163

习题8 172

第9章 内部排序 174

9.1 基本概念 174

9.2 插入排序 176

9.2.1 直接插入排序 176

9.2.2 折半插入排序 178

9.2.3 希尔排序 179

9.3 交换排序 181

9.3.1 冒泡排序 181

9.3.2 快速排序 184

9.4 选择排序 187

9.4.1 直接选择排序 187

9.4.2 树形选择排序 188

9.4.3 堆排序 189

9.5 归并排序 194

9.6 基数排序 196

9.7 各种内部排序方法的比较 200

习题9 202

第10章 外部排序和文件 206

10.1 外部排序 206

10.1.1 外部排序的有关概念 206

10.1.2 二路归并 207

10.1.3 多路归并 208

10.2 文件 210

10.2.1 文件的基本概念 210

10.2.2 顺序文件 211

10.2.3 索引文件 211

10.2.4 索引顺序文件 213

10.2.5 散列文件 214

10.2.6 多关键字文件 214

习题10 216

第11章 实习部分 218

11.1 实习指导 218

11.2 实习题 219

实习题一 顺序表的建立与运算 219

实习题二 单链表的建立与运算 220

实习题三 多项式相加 220

实习题四 约瑟夫环 221

实习题五 停车场管理 221

实习题六 看病候诊模拟 222

实习题七 串的建立与运算 223

实习题八 词频统计 223

实习题九 数组的存储和运算 223

实习题十 二叉树的存储和运算 224

实习题十一 哈夫曼算法及应用 224

实习题十二 图的遍历 225

实习题十三 二分查找 226

实习题十四 插入排序 226

11.3 综合应用实例——迷宫问题 226

参考文献 232