图书介绍

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

数据结构:C++实现 第2版
  • 缪淮扣,沈俊,顾训穰编著 著
  • 出版社: 北京:科学出版社
  • ISBN:9787030407399
  • 出版时间:2014
  • 标注页数:342页
  • 文件大小:47MB
  • 文件页数:354页
  • 主题词:数据结构-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


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

下载说明

数据结构:C++实现 第2版PDF格式电子书版下载

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

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

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

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

图书目录

第一章 绪论1

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

1.2 数据结构的基本概念2

1.2.1 两个简单的数据结构实例2

1.2.2 数据结构的定义3

1.3 算法性能与复杂度5

1.3.1 算法的定义5

1.3.2 算法的性能标准6

1.3.3 算法复杂度7

习题一10

第二章 C++程序设计语言简介13

2.1 C++语言基础13

2.1.1 程序结构13

2.1.2 数据声明和作用域14

2.1.3 输入/输出16

2.1.4 函数17

2.1.5 参数传递18

2.1.6 函数名重载19

2.1.7 动态内存分配19

2.1.8 结构与联合20

2.2 类与对象的基本概念24

2.2.1 类与对象24

2.2.2 消息与合作26

2.2.3 多态性26

2.3 面向对象的程序设计方法26

2.4 C++类与对象27

2.5 构造函数和析构函数29

2.6 工具函数31

2.7 继承33

2.8 this指针的使用36

2.9 虚函数、多态性以及动态联编37

2.9.1 虚函数和多态性37

2.9.2 动态联编39

2.10 类模板40

习题二42

第三章 线性表46

3.1 线性表的定义46

3.2 线性表的顺序表示47

3.2.1 顺序表的类模板定义47

3.2.2 顺序表相关算法的复杂度分析53

3.3 线性表的链表表示53

3.3.1 单链表54

3.3.2 双向循环链表63

3.3.3 静态链表70

3.4 线性表的应用71

3.4.1 集合的表示和相关运算的实现71

3.4.2 一元多项式表示和相关运算的实现72

习题三75

第四章 栈、队列和递归79

4.1 栈79

4.1.1 顺序栈80

4.1.2 链式栈83

4.1.3 栈的应用——表达式求值86

4.2 队列94

4.2.1 循环队列95

4.2.2 链式队列99

4.2.3 队列的应用——车厢调度103

4.3 递归105

4.3.1 递归的概念105

4.3.2 递归过程与递归工作栈106

4.3.3 消除递归107

习题四112

第五章 串、数组和广义表115

5.1 字符串115

5.1.1 字符串的基本概念115

5.1.2 常用的C++字符串函数117

5.1.3 串类的定义及其实现118

5.1.4 模式匹配125

5.2 数组130

5.2.1 数组的基本概念130

5.2.2 数组的顺序存储结构130

5.3 稀疏矩阵132

5.3.1 非零元素的三元组定义133

5.3.2 三元组顺序表133

5.3.3 十字链表137

5.4 广义表143

5.4.1 广义表的定义143

5.4.2 广义表的存储结构143

5.4.3 n元多项式的表示149

习题五151

第六章 树和森林154

6.1 树的概念154

6.1.1 树的定义154

6.1.2 树的术语155

6.1.3 树的表示形式156

6.1.4 树的基本操作156

6.2 二叉树157

6.2.1 二叉树的定义158

6.2.2 二叉树的性质158

6.2.3 二叉树的基本操作160

6.3 二叉树的存储结构161

6.3.1 顺序二叉树161

6.3.2 二叉树的链表表示法162

6.3.3 二叉树的二叉链表类模板声明163

6.4遍历二叉树167

6.4.1 先序遍历168

6.4.2 中序遍历169

6.4.3 后序遍历169

6.4.4 层序遍历170

6.5 线索二叉树171

6.5.1 线索二叉树的定义171

6.5.2 线索二叉树的类模板定义173

6.6 二叉树的应用180

6.6.1 堆180

6.6.2 哈夫曼树187

6.7 树和森林的实现193

6.7.1 树的存储结构193

6.7.2 树、森林和二叉树的转换196

6.7.3 树的遍历198

6.7.4 森林的遍历199

6.8 等价类及其表示200

6.8.1 等价关系与等价类200

6.8.2 并查集201

习题六206

第七章 图210

7.1 图的基本概念210

7.1.1 图的定义210

7.1.2 图的术语211

7.1.3 图的基本操作213

7.2 图的存储结构214

7.2.1 邻接矩阵214

7.2.2 邻接表221

7.2.3 邻接多重表230

7.2.4 十字链表230

7.3 图的遍历与连通性232

7.3.1 深度优先遍历232

7.3.2 广度优先遍历233

7.3.3 连通分量235

7.4 最小生成树236

7.4.1 克鲁斯卡尔算法237

7.4.2 普里姆算法240

7.5 最短路径243

7.5.1 弧上权值为非负情形的单源点最短路径问题243

7.5.2 弧上权值为任意值的单源点最短路径问题246

7.5.3 所有顶点之间的最短路径249

7.6 活动网络251

7.6.1 用顶点表示活动的网络251

7.6.2 用边表示活动的网络255

习题七259

第八章 查找263

8.1 基本概念263

8.2 顺序表264

8.2.1 顺序表的查找264

8.2.2 有序表的折半查找265

8.3 索引顺序表和倒排表269

8.3.1 索引顺序表269

8.3.2 倒排表271

8.4 二叉排序树273

8.4.1 二叉排序树定义273

8.4.2 二叉排序树上的查找275

8.4.3 二叉排序树的插入操作276

8.4.4 二叉排序树的删除278

8.4.5 二叉排序树查找的性能分析280

8.5 平衡二叉树280

8.5.1 平衡二叉树的定义281

8.5.2 平衡旋转281

8.5.3 平衡二叉树中插入结点283

8.5.4 平衡二叉树中删除结点286

8.6 B-树288

8.6.1 动态的m路查找树288

8.6.2 B-树的定义289

8.6.3 B-树的插入290

8.6.4 B-树的删除291

8.6.5 B+树294

8.7 散列表295

8.7.1 散列表的基本概念295

8.7.2 散列函数296

8.7.3 处理冲突的闭散列方法——开地址方法298

8.7.4 闭散列方法的实现302

8.7.5 处理冲突的开散列方法——链地址法305

8.7.6 散列表分析306

习题八307

第九章 排序311

9.1 基础知识311

9.2 交换排序312

9.2.1 冒泡排序312

9.2.2 快速排序314

9.3 插入排序316

9.3.1 直接插入排序316

9.3.2 折半插入排序320

9.3.3 希尔排序320

9.4 选择排序322

9.4.1 简单选择排序322

9.4.2 锦标赛排序325

9.4.3 堆排序326

9.5 归并排序329

9.5.1 归并329

9.5.2 两路归并排序330

9.5.3 递归的归并排序332

9.6 基数排序334

9.6.1 多关键字排序334

9.6.2 链式基数排序335

9.7 各种排序方法的选择和使用338

习题九338

参考文献342

热门推荐