图书介绍

数据结构(C++C版)pdf电子书版本下载

数据结构(C++C版)
  • 叶核亚编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121080043
  • 出版时间:2009
  • 标注页数:312页
  • 文件大小:64MB
  • 文件页数:323页
  • 主题词:数据结构-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

数据结构(C++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.2 什么是数据结构 1

1.1.3 数据类型与抽象数据类型 5

1.2 算法 7

1.2.1 什么是算法 7

1.2.2 算法分析 9

1.2.3 算法设计 11

习题1 18

实验1 算法设计与分析 18

第2章 线性表 21

2.1 线性表抽象数据类型 21

2.2 线性表的顺序表示和实现 21

2.3 线性表的链式表示和实现 29

2.3.1 线性表的链式存储结构 29

2.3.2 单链表 30

2.3.3 双链表 44

习题2 49

实验2 线性表顺序存储结构和链式存储结构的基本操作 50

第3章 串 52

3.1 串抽象数据类型 52

3.1.1 串的基本概念 52

3.1.2 串抽象数据类型 53

3.2 串的表示和实现 53

3.2.1 串的存储结构 53

3.2.2 字符串类 54

3.3 串的模式匹配 60

3.3.1 朴素的模式匹配(Brute-Force)算法 61

3.3.2 无回溯的模式匹配(KMP)算法 64

习题3 69

实验3 串的基本操作及模式匹配算法 70

第4章 栈和队列 72

4.1 栈 72

4.1.1 栈抽象数据类型 72

4.1.2 顺序栈 73

4.1.3 链式栈 74

4.1.4 栈的应用 76

4.2 队列 82

4.2.1 队列抽象数据类型 82

4.2.2 顺序队列 82

4.2.3 链式队列 85

4.2.4 队列的应用 86

4.3 优先队列 88

4.4 递归 90

习题4 94

实验4 栈和队列以及递归算法 95

第5章 数组和广义表 97

5.1 数组 97

5.1.1 一维数组 97

5.1.2 多维数组 98

5.2 特殊矩阵的压缩存储 104

5.2.1 对称(三角)矩阵的存储 104

5.2.2 稀疏矩阵的压缩存储 108

5.3 广义表 116

5.3.1 广义表抽象数据类型 116

5.3.2 广义表的存储结构 118

习题5 119

实验5 矩阵的存储和运算 120

第6章 树和二叉树 122

6.1 树及其抽象数据类型 122

6.1.1 树的定义 122

6.1.2 树的术语 123

6.1.3 树的表示法 124

6.1.4 树抽象数据类型 124

6.2 二叉树及其抽象数据类型 125

6.2.1 二叉树定义 125

6.2.2 二叉树的性质 125

6.2.3 二叉树的遍历规则 127

6.2.4 二叉树抽象数据类型 128

6.3 二叉树的表示和实现 128

6.3.1 二叉树的存储结构 128

6.3.2 二叉树的二叉链表实现 130

6.4 线索二叉树 147

6.4.1 线索二叉树定义 148

6.4.2 中序线索二叉树 149

6.5 哈夫曼编码与哈夫曼树 154

6.5.1 哈夫曼编码 155

6.5.2 哈夫曼树 155

6.6 树的表示和实现 162

6.6.1 树的存储结构 162

6.6.2 树的孩子兄弟链表实现 164

习题6 167

实验6 树和二叉树的基本操作 168

第7章 图 171

7.1 图及其抽象数据类型 171

7.1.1 图的基本概念 171

7.1.2 图抽象数据类型 174

7.2 图的表示和实现 175

7.2.1 图的邻接矩阵表示 175

7.2.2 图的邻接表表示 182

7.2.3 图的邻接多重表表示 189

7.3 图的遍历 190

7.3.1 图的深度优先搜索遍历 191

7.3.2 图的广度优先搜索遍历 194

7.4 最小生成树 196

7.4.1 生成树 196

7.4.2 最小生成树的构造算法 198

7.5 最短路径 202

7.5.1 非负权值的单源最短路径 202

7.5.2 每对顶点间的最短路径 206

习题7 209

实验7 图的表示和操作 209

第8章 查找 211

8.1 查找的基本概念 211

8.2 基于线性表的查找 212

8.2.1 顺序查找 213

8.2.2 基于有序顺序表的折半查找 215

8.2.3 基于索引顺序表的分块查找 217

8.3 散列 222

8.3.1 散列表 222

8.3.2 散列函数 224

8.3.3 处理冲突 224

8.3.4 链地址法的散列表 226

8.4 二叉排序树和平衡二叉树 228

8.4.1 二叉排序树及其查找 229

8.4.2 平衡二叉树 235

习题8 238

实验8 查找算法及其效率分析 239

第9章 排序 240

9.1 排序的基本概念 240

9.2 插入排序 241

9.2.1 顺序查找 241

9.2.2 希尔排序 243

9.3 交换排序 245

9.3.1 冒泡排序 245

9.3.2 快速排序 246

9.4 选择排序 248

9.4.1 直接选择排序 248

9.4.2 堆排序 251

9.5 归并排序 254

习题9 258

实验9 排序算法设计及分析 258

第10章 综合应用设计 260

10.1 算法分析 260

10.1.1 时间代价分析 260

10.1.2 空间代价分析 260

10.2 算法设计策略 261

10.2.1 分治法 261

10.2.2 动态规划法 263

10.2.3 贪心法 266

10.2.4 回溯法 272

10.3 课程设计的目的、要求和选题 285

第11章 Visual C++集成开发环境 292

11.1 Visual C++ 6.0集成开发环境 292

11.2 编辑、编译和运行C++程序 294

11.2.1 新建、编辑、编译和运行一个C++程序 294

11.2.2 一个项目包含头文件和C++程序 296

11.2.3 一个工作区包含多个项目 299

11.3 程序调试技术 300

11.3.1 程序错误、发现时刻及错误处理原则 300

11.3.2 程序运行方式 301

11.3.3 调试界面 302

11.3.4 调试过程 303

附录A ASCII码表(前128个) 308

附录B 运算符及其优先级 309

附录C Visual C++ 6.0常用菜单命令及说明 310

参考文献 312

精品推荐