图书介绍

数据结构:C++语言描述pdf电子书版本下载

数据结构:C++语言描述
  • 丁芝芳,刘杰主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7810822500
  • 出版时间:2004
  • 标注页数:276页
  • 文件大小:12MB
  • 文件页数:287页
  • 主题词:数据结构-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

数据结构:C++语言描述PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪论 1

1.1 程序=算法+数据结构 1

1.1.1 程序的产生及对程序的分析 1

目录 1

1.1.2 算法的概念及对算法的要求 2

1.1.3 算法与程序的关系及算法的描述方法 3

1.1.4 数据结构简介 4

1.2 数据结构的基本内涵 4

1.2.1 数据结构研究的内容 4

1.2.2 基本概念和术语 5

1.2.4 数据结构的表示 6

1.2.3 数据的存储结构 6

1.3 时间复杂度和空间复杂度 9

1.3.1 时间复杂度 9

1.3.2 空间复杂度 10

1.4 数据结构与面向对象编程 11

习题1 11

第2章 线性表 15

2.1 线性表的逻辑特点 15

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

2.2.1 顺序表定义 17

2.2.2 顺序表基本操作的实现 18

2.3 线性表的链式存储结构——链表 21

2.2.3 典型应用——多项式求值 21

2.3.1 单向链表的类定义 22

2.3.2 基本运算的实现 25

2.3.3 基本操作的实现 31

2.3.4 循环链表与双向链表 34

2.3.5 典型应用——多项式表示及相加 42

习题2 48

3.1 栈的概念 50

3.1.1 栈的定义和特征 50

第3章 栈和队列 50

3.1.2 栈的基本操作 51

3.2 顺序栈——栈的顺序存储表示 51

3.2.1 顺序栈的类定义 51

3.2.2 其他基本操作的实现 54

3.2.3 多栈共享空间 55

3.2.4 栈的应用 57

3.3 栈的链式存储结构——链栈 65

3.3.1 链栈的类定义 66

3.3.2 部分操作的实现 67

3.4 队列的基本概念 69

3.5.1 链队列的的概念和特征 70

3.5 队列的链式存储结构——链队列 70

3.5.2 链队列的表示与实现 71

3.6 队列的顺序存储结构 74

3.6.1 顺序存储的队列 74

3.6.2 以数组表示的循环队列 75

3.6.3 应用举例 77

3.7 优先级队列 83

3.7.1 优先级队列的基本概念 83

3.7.2 优先级队列的类定义 84

3.7.3 优先级队列的存储表示和实现 84

3.7.4 优先级队列的应用实例 85

习题3 86

第4章 数组和广义表 88

4.1 数组的逻辑特点 88

4.2 数组的存储结构 89

4.2.1 一维数组 89

4.2.2 二维数组 90

4.2.3 多维数组 90

4.3 特殊矩阵的压缩存储 91

4.3.1 对称矩阵 92

4.3.2 三角矩阵 93

4.3.3 带状矩阵 94

4.4 稀疏矩阵的压缩存储 95

4.5 稀疏矩阵运算的实现 97

4.5.1 稀疏矩阵转置的实现 98

4.5.2 矩阵相乘 101

4.6 广义表 103

4.6.1 广义表的概念 104

4.6.2 广义表的存储结构 106

4.6.3 广义表的类定义 109

4.6.4 广义表的递归算法 112

4.7 递归 115

4.7.1 递归的概念 115

4.7.2 函数调用与递归实现 116

4.7.3 回溯 119

4.7.4 递归问题的非递归算法 123

习题4 124

第5章 树和二叉树 127

5.1 树的逻辑结构 127

5.1.1 树的递归定义 128

5.1.2 树的基本术语 129

5.1.3 树的表示 130

5.2 二叉树 132

5.2.1 二叉树的基本概念 132

5.2.2 二叉树的性质 133

5.2.3 二叉树的抽象数据类型 134

5.2.4 二叉树的存储结构 135

5.2.5 二叉树的基本操作及实现 138

5.3 二叉树遍历 141

5.3.1 二叉树遍历的定义 141

5.3.2 先序遍历算法描述 141

5.3.3 中序遍历算法描述 142

5.3.4 后序遍历算法描述 143

5.3.5 二叉树遍历的非递归实现 143

5.3.6 层次遍历算法描述 146

5.3.7 二叉树遍历算法的应用 147

5.4.1 二叉树的线索化 155

5.4 线索二叉树 155

5.4.2 线索二叉树的中序遍历 159

5.5 堆 160

5.5.1 堆的定义 160

5.5.2 最小堆的类声明 160

5.5.3 堆的建立 161

5.5.4 堆的插入与删除 162

5.5.5 堆的应用 164

5.6 树和森林 166

5.6.1 树的存储结构 166

5.6.2 树、森林与二叉树的转换 169

5.6.3 树和森林的遍历 171

5.7 哈夫曼树及其应用 173

5.7.1 基本术语 173

5.7.2 构造哈夫曼树 175

5.7.3 哈夫曼树的应用 176

习题5 177

第6章 图 180

6.1 图的定义和术语 180

6.1.1 图的定义 180

6.1.2 基本术语 181

6.1.3 图的应用领域 184

6.2 图的存储结构 185

6.2.1 邻接矩阵 186

6.2.2 邻接表 188

6.2.3 十字链表 192

6.2.4 邻接多重表 193

6.3 图的遍历 194

6.3.1 深度优先搜索 194

6.3.2 广度优先搜索 195

6.4 图的应用 197

6.4.1 图的连通性 197

6.4.2 最小生成树 197

6.4.3 最短路径 203

6.4.4 拓扑排序 208

6.4.5 关键路径 211

习题6 214

第7章 查找 217

7.1 查找的基本概念 217

7.2 线性表查找 218

7.2.1 顺序查找 218

7.2.2 折半查找 220

7.3 索引表查找 224

7.3.1 索引查找 224

7.4 树表查找 226

7.3.2 分块查找 226

7.4.1 二叉排序树查找 227

7.4.2 平衡二叉树 234

7.4.3 B树 237

7.5 散列表查找 240

7.5.1 散列表与散列函数 240

7.5.2 处理冲突的办法 243

7.5.3 散列表的查找算法 246

7.5.4 散列查找性能分析 247

习题7 248

第8章 排序 250

8.2 插入排序 252

8.1 排序的基本概念 252

8.2.1 直接插入排序 253

8.2.2 折半插入排序 254

8.2.3 希尔排序 255

8.3 交换排序 256

8.3.1 冒泡排序 257

8.3.2 快速排序 258

8.4 选择排序 260

8.4.1 直接选择排序 261

8.4.2 堆排序 262

8.5.1 二路归并排序 266

8.5 归并排序 266

8.5.2 多路归并排序 268

8.5.3 两个有序文件的归并 268

8.6 基数排序 269

8.7 各种排序方法的比较 273

8.7.1 时间性能 273

8.7.2 空间性能 274

8.7.3 排序方法的稳定性能 274

8.7.4 排序方法的时间复杂度下限 274

8.7.5 一般选择规则 274

习题8 275

参考文献 276

精品推荐