图书介绍

数据结构 C++版PDF|Epub|txt|kindle电子书版本网盘下载

数据结构 C++版
  • 杨谊等编著 著
  • 出版社: 北京:冶金工业出版社
  • ISBN:7502432884
  • 出版时间:2003
  • 标注页数:332页
  • 文件大小:13MB
  • 文件页数:341页
  • 主题词:数据结构;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.2 数据结构基本术语1

1.2 抽象数据类型及面向对象程序设计4

1.2.1 数据类型4

1.2.2 抽象数据类型5

1.2.3 面向对象程序设计5

1.3 C++实现面向对象程序设计6

1.3.1 C++语言概述6

1.3.2 C++程序结构的组成7

1.3.3 类和对象的定义8

1.3.4 成员函数11

1.3.5 友(friend)11

1.3.6 动态存储分配11

1.3.7 继承性和派生类11

1.3.8 运算符和函数重载12

1.3.9 多态13

1.3.10 模板14

1.3.11 内联函数15

1.3.12 C++程序的实现15

1.4 算法15

1.4.1 算法定义与设计15

1.4.2 算法的复杂性16

小结20

例题解析20

一、选择题20

二、填空题22

三、问答题23

四、编程题25

第2章 线性表28

2.1 线性表的概念28

2.2 线性表的抽象数据类型29

2.3 线件表的数组实现31

2.4 线性表的指针实现35

2.5 线性表的游标实现40

2.6 循环链表42

2.6.1 单循环链表42

2.6.2 双链表和双循环链表44

2.7 线性表的应用实例47

2.7.1 数组表示的线性表应用实例:47

数据库管理系统47

2.7.2 单链表应用实例:多项式加法49

小结50

例题解析51

一、选择题51

二、填空题52

三、问答题52

四、编程题53

第3章 栈和队列65

3.1 栈的定义65

3.2 栈的实现65

3.2.1 栈的顺序存储66

3.2.2 栈的指针实现69

3.3 栈的应用实例——表达式的计算71

3.4 队列的定义76

3.5 队列的实现76

3.5.1 队列的顺序存储76

3.5.2 队列的链式存储80

小结83

例题解析84

一、选择题84

二、填空题84

三、问答题84

四、编程题85

第4章 串和矩阵92

4.1 串92

4.1.1 串的抽象数据类型92

4.1.2 用数组来实现串92

4.1.3 用指针来实现串97

4.1.4 串的模式匹配98

4.2 矩阵104

4.2.1 矩阵的定义104

4.2.2 特殊矩阵的压缩存储106

4.2.3 稀疏矩阵的压缩存储108

小结116

例题解析117

一、选择题117

二、填空题117

三、问答题118

四、编程题120

第5章 递归125

5.1 递归的概念125

5.2 递归算法的设计125

5.3 递归算法的效率分析127

5.4 广义表129

5.4.1 广义表的定义和性质129

5.4.2 广义表的存储130

5.4.3 广义表的基本操作132

5.4.4 广义表的应用135

小结136

例题解析137

一、选择题137

二、填空题138

三、问答题139

四、编程题140

第6章 树和二叉树151

6.1 树的有关概念151

6.1.1 树的定义151

6.1.2 树的相关术语152

6.1.3 树的抽象数据类型153

6.2 特殊的树——二叉树153

6.2.1 二叉树的定义154

6.2.2 二叉树的性质154

6.2.3 二叉树的抽象数据类型156

6.2.4 二叉树的实现157

6.2.5 二叉树的遍历162

6.2.6 线索二叉树166

6.2.7 二叉树的应用——霍夫曼树175

6.3 树的表示177

6.3.1 双亲数组表示法177

6.3.2 儿子链表表示法179

6.3.3 树的二叉树表示法181

6.4 树的遍历183

6.5 森林的二叉树表示和遍历185

小结186

例题解析186

一、选择题186

二、填空题189

三、问答题190

四、编程题194

第7章 图199

7.1 图的基本概念199

7.1.1 图199

7.1.2 无向图和有向图200

7.1.3 完全图200

7.1.4 图200

7.1.5 邻接顶点201

7.1.6 顶点的度、出度和入度201

7.1.7 路径和路径长度201

7.1.8 权和网202

7.1.9 简单路径和回路202

7.1.10 连通图和连通分量202

7.1.11 强连通图和强连通分量202

7.1.12 生成树203

7.2 图的抽象数据类型203

7.3 图的存储结构及C++实现203

7.3.1 邻接矩阵203

7.3.2 邻接矩阵的C++实现205

7.3.3 邻接表210

7.3.4 邻接表的C++实现212

7.3.5 邻接多重表218

7.4 图的遍历219

7.4.1 深度优先搜索遍历219

7.4.2 广度优先搜索遍历222

7.5 图的连通性问题224

7.5.1 图的连通分量224

7.5.2 图的生成树和最小生成树225

7.6 最短路径228

7.6.1 用Dijkstra算法求从某个源点到其余各顶点的最短路径228

7.6.2 所有顶点之间的最短路径232

7.7 AOV网络与拓扑排序233

7.8 AOE-网与关键路径236

小结240

例题解析240

一、选择题240

二、填空题242

三、问答题243

四、编程题249

第8章 排序252

8.1 排序的基本概念252

8.2 插入排序253

8.2.1 直接插入排序253

8.2.2 折半插入排序254

8.2.3 希尔排序255

8.3 选择排序257

8.3.1 直接选择排序257

8.3.2 堆排序258

8.3.3 锦标赛排序264

8.4 交换排序265

8.4.1 冒泡排序265

8.4.2 快速排序266

8.5 归并排序269

8-6基数排序271

小结272

例题解析273

一、选择题273

二、填空题275

三、问答题276

四、编程题279

第9章 查找284

9.1 查找的基本概念284

9.2 顺序表查找284

9.2.1 无序顺序表的查找284

9.2.2 有序顺序表的查找285

9.2.3 二分查找285

9.3 索引表查找286

9.4 树表查找288

9.4.1 二叉排序树288

9.4.2 平衡二叉树291

9.4.3 B_树295

9.5 哈希表查找298

9.5.1 哈希表的概念298

9.5.2 哈希函数的构造299

9.5.3 解决哈希冲突的方法300

9.5.4 哈希表的效率分析302

小结303

例题解析303

一、选择题303

二、填空题305

三、问答题305

四、编程题308

附录 模拟试卷及参考答案315

模拟试卷一315

模拟试卷二317

模拟试卷一参考答案与解析323

模拟试卷二参考答案与解析327

参考文献332

热门推荐