《数据结构与算法》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:佟伟光主编
  • 出 版 社:北京市:北京大学出版社
  • 出版年份:2009
  • ISBN:9787301155844
  • 页数:312 页
图书介绍:本书系统地介绍了数据结构的基本概念和基本算法,涵盖了数据结构的所有基本知识点,突出了最重要、最基本的内容,便于学生牢固掌握,灵活应用数据结构知识解决实际问题。本书适合作为应用型本科院校和成人教育院校数据结构课程,以及数据结构培训班的教材,也可作为软件人员的自学参考书。

第1章 绪论 1

1.1数据结构的基本概念 1

1.2算法的描述 2

1.3VC++6.0开发工具简介 4

1.4算法的评价 7

1.4.1评价算法的一般原则 7

1.4.2算法复杂性的分析 7

1.5应用示例及分析 8

小结 9

习题与练习一 10

第2章 线性表 12

2.1线性表基本特征和基本运算 12

2.2线性表的顺序存储及运算实现 13

2.2.1顺序表 13

2.2.2顺序表上基本运算的实现 14

2.3线性表的链式存储及运算实现 16

2.3.1单链表 16

2.3.2单链表的基本运算 17

2.3.3循环链表 21

2.3.4双链表 21

2.3.5静态链表 23

2.4顺序表和链表的比较 24

2.5线性表的应用 25

2.5.1顺序表的应用 25

2.5.2一元多项式的算术运算 26

2.6应用示例及分析 27

小结 31

习题与练习二 31

第3章 栈与队列 34

3.1栈 34

3.1.1栈的定义 34

3.1.2栈的存储实现和运算实现 34

3.1.3堆栈的应用 38

3.2队列 40

3.2.1队列的定义 40

3.2.2队列的存储实现及运算实现 40

3.2.3队列的应用 46

3.3递归 47

3.4应用示例及分析 50

小结 55

习题与练习三 55

第4章 串 58

4.1串的定义及其基本运算 58

4.2串的存储结构 59

4.2.1串的顺序存储结构 59

4.2.2串的链接存储结构 60

4.3串的匹配运算 61

4.4应用示例及分析 63

小结 65

习题与练习四 66

第5章 数组、特殊矩阵和广义表 68

5.1多维数组 68

5.1.1数组的定义和操作 68

5.1.2多维数组的存储表示和寻址 69

5.2特殊矩阵的压缩存储 70

5.2.1对称矩阵 71

5.2.2三角矩阵 72

5.2.3带状矩阵 73

5.3稀疏矩阵 73

5.3.1稀疏矩阵的三元组表存储 74

5.3.2稀疏矩阵的十字链表存储 75

5.4广义表 77

5.5应用示例与分析 78

小结 79

习题与练习五 80

第6章 树 82

6.1树的定义和基本术语 82

6.2二叉树 84

6.2.1二叉树的基本概念 84

6.2.2二叉树的主要性质 85

6.2.3二叉树的存储结构 86

6.3二叉树的遍历 88

6.3.1二叉树的递归遍历 88

6.3.2二叉树的非递归遍历 90

6.4树和森林 93

6.4.1树、森林与二叉树的转换 93

6.4.2树和森林的存储表示 94

6.4.3树和森林的遍历 95

6.5线索二叉树 96

6.6二叉排序树 100

6.7平衡树 103

6.8树的应用 105

6.8.1等价类问题 106

6.8.2最优二叉树——哈夫曼树 109

6.9应用示例及分析 113

小结 115

习题与练习六 116

第7章 图 119

7.1图的定义和基本术语 119

7.2图的存储方式 121

7.2.1邻接矩阵 121

7.2.2邻接表 123

7.3图的遍历 125

7.3.1深度优先搜索(DFS) 125

7.3.2广度优先搜索(BFS) 128

7.4最小生成树 130

7.4.1普里姆(Prim)算法 131

7.4.2克鲁斯卡尔(Kruskal)算法 132

7.5最短路径 135

7.5.1从一个源点到其他各点的最短路径 135

7.5.2每一对顶点之间的最短路径 137

7.6拓扑排序 140

7.7关键路径法 144

7.8应用示例与分析 147

小结 150

习题与练习七 151

第8章 排序 155

8.1排序的基本概念 155

8.23种简单排序方法 156

8.2.1简单选择排序 156

8.2.2冒泡排序 157

8.2.3直接插入排序 158

8.3堆排序 159

8.3.1堆的概念 159

8.3.2构建堆 160

8.3.3利用堆排序 162

8.4快速排序 164

8.5希尔排序 166

8.6归并排序 168

8.7基数排序 171

8.8应用示例及分析 175

小结 176

习题与练习八 177

第9章 查找 180

9.1查找的基本概念 180

9.2基本查找方法 181

9.2.1顺序查找 181

9.2.2二分查找 181

9.2.3分块查找 182

9.3树状查找 184

9.3.1二叉排序树查找 184

9.3.2B-树 186

9.4哈希法 187

9.4.1哈希法概述 187

9.4.2哈希函数构造方法 188

9.4.3处理冲突的方法 190

9.4.4哈希法的查找运算 191

9.5应用示例及分析 193

小结 195

习题与练习九 196

第10章 算法的分析与设计 199

10.1算法的分析 199

10.1.1分析算法的一般原则 199

10.1.2算法复杂性分析 200

10.2算法的设计 203

10.2.1分治法 203

10.2.2贪心法 206

10.2.3动态规划法 209

10.2.4回溯法 212

10.2.5分支界限法 216

小结 219

习题与练习十 220

第11章 实验与上机指导 222

实验1线性表及其运算 222

实验2栈与队列的实现及应用 230

实验3二叉树的存储与遍历 237

实验4图的存储与遍历 243

实验5排序 246

实验6查找 252

附录 习题与练习解答 258

参考文献 312