图书介绍

数据结构 C/C++版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

数据结构 C/C++版
  • 杨正宏编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302095493
  • 出版时间:2004
  • 标注页数:335页
  • 文件大小:13MB
  • 文件页数:346页
  • 主题词:数据结构;C语言-程序设计

PDF下载


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

下载说明

数据结构 C/C++版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 数据结构概论1

1.1 数据与信息1

1.2 数据处理2

1.3 计算器操作方式4

1.4 程序的产生4

1.5 程序的分析5

1.5.1 如何分析程序8

1.6 算法8

1.6.1 算法的书写9

1.6.2 算法效率的评估12

1.7 复杂度12

1.7.1 复杂度的表示法13

1.8 NP-Complete15

1.9 参数的传递17

1.10 数据结构19

1.10.1 数据结构探讨问题19

1.11 魔术方阵20

1.12 习题21

第2章 数组结构23

2.1 数组的定义23

2.2 数组表示法24

2.2.1 一维数组24

2.2.2 二维数组24

2.2.3 三维数组26

2.2.4 多维数组27

2.3 稀疏矩阵28

2.3.1 稀疏矩阵的转置29

2.4.1 多项式的数据结构31

2.4 数组的应用31

2.4.2 多项式相加32

2.4.3 上三角矩阵储存方式34

2.4.4 下三角矩阵储存方式39

2.4.5 带状矩阵44

2.4.6 矩阵相乘48

2.5 最佳洗牌法49

2.6 习题50

3.2 动态内存配置52

3.2.2 函数free()52

3.2.1 函数malloc()52

3.1 链表的定义52

第3章 链表52

3.3 链表的创建53

3.3.1 动态数据结构的声明53

3.3.2 内存的配置53

3.3.3 基本链表的创建54

3.4 链表的遍历56

3.5 链表的连结57

3.6 链表内节点的删除57

3.7 释放链表的内存空间58

3.8 链表内节点的插入59

3.9 链表结构的反转60

3.10 环状链表结构62

3.10.1 环状链表的创建62

3.10.2 环状链表内节点的插入63

3.10.3 环状链表内节点的删除64

3.11 使用环状链表结构表示稀疏矩阵66

3.12 双向链表结构70

3.12.1 双向链表的创建71

3.12.2 双向链表内节点的插入72

3.12.3 双向链表内节点的删除74

3.13 环状双向链表结构75

3.14 习题78

第4章 递归80

4.1 递归的定义80

4.2 递归工作原则82

4.3 递归的执行过程83

4.3.1 递归树84

4.3.2 费氏数列86

4.4 递归的应用89

4.4.1 汉诺塔问题89

4.4.2 迷宫问题92

4.4.3 八皇后问题96

4.4.4 骑士问题99

4.4.5 最大公因子102

4.4.6 史波克先生的难题103

4.5 递归程序与非递归程序的差异104

4.6 习题106

第5章 栈107

5.1 栈的定义107

5.2 栈的制作及操作方式107

5.3.1 算术表达式的转换(Expression Conversion)112

5.3 栈的应用112

5.3.2 处理子程序调用115

5.3.3 处理中断例程116

5.3.4 编译错误处理117

5.3.5 汉诺塔问题117

5.3.6 迷宫问题121

5.3.7 八皇后问题125

5.4 习题127

第6章 队列129

6.1 队列的定义129

6.2 线性队列的制作及操作方式129

6.2.1 以数组制作线性队列129

6.2.2 以链表制作线性队列134

6.3.1 以数组制作环状队列137

6.3 环状队列的制作及操作方式137

6.3.2 以链表制作环状队列141

6.4 双向队列143

6.5 优先队列144

6.5.1 优先队列的特性145

6.5.2 用双队列表示优先队列145

6.6 多重队列145

6.7 队列的应用146

6.7.1 买票问题146

6.7.2 Josephus问题150

6.8 习题151

7.1 基本术语152

第7章 树状结构152

7.2 树的表示法153

7.3 二叉树156

7.3.1 二叉树的创建160

7.3.2 二叉树的遍历161

7.3.3 二叉树的搜索164

7.3.4 二元树的删除164

7.3.5 二元树的比较165

7.3.6 一般树转换至二叉树166

7.3.7 二叉表示树168

7.4 相关二叉树170

7.4.1 完全平衡树170

7.4.2 满二叉树171

7.4.4 线索二叉树(Threaded Binary Tree)172

7.4.3 完全二叉树172

7.4.5 扩充二叉树173

7.4.6 赫夫曼树174

7.4.7 贪婪二元树(Greedy Binary Tree)178

7.4.8 高度平衡二叉树180

7.4.9 扇形树183

7.5 二元树的衍生186

7.5.1 2-3树与2-3-4树186

7.5.2 红-黑树(Red-Black Tree)190

7.5.3 最小-最大堆树192

7.5.4 双堆树194

7.5.5 B树195

7.6.1 皇后问题198

7.6 树的应用198

7.6.2 游戏树199

7.6.3 决策树201

7.7 习题202

第8章 图205

8.1 前言205

8.2 图的基本观念206

8.2.1 无向图的一些重要术语207

8.2.2 有向图的一些重要术语208

8.2.3 其他重要术语210

8.3 图的表示法210

8.3.1 邻接矩阵210

8.3.2 邻接表212

8.3.3 邻接多重表214

8.3.4 索引表格法215

8.4 图的遍历215

8.4.1 深度优先搜索法215

8.4.2 广度优先搜索法216

8.5 扩张树217

8.5.1 克鲁斯卡(Kruskal)法220

8.5.2 普瑞法222

8.6 拓朴排序226

8.7 最短路径229

8.8 习题235

第9章 排序238

9.1 前言238

9.2.1 交换式排序239

9.2 内部排序法239

9.2.2 插入式排序248

9.2.3 选择和树状排序257

9.2.4 其他排序270

9.3 外部排序法281

9.3.1 直接合并排序法281

9.3.2 自然合并排序法281

9.3.3 k-路合并法282

9.3.4 多阶段合并法285

9.4 排序法的效益评估287

9.5 习题288

10.1 前言290

10.2 顺序查找法290

第10章 查找290

10.3 折半查找法292

10.4 费氏查找法293

10.5 区块查找法298

10.6 插补查找法299

10.7 基数查找法302

10.8 树状查找法303

10.8.1 折半查找树303

10.8.2 B树查找法304

10.8.3 B+树(B+Tree)305

10.8.4 数字查找树307

10.8.5 补偿树308

10.9 散列查找法311

10.9.2 摘取法312

10.9.1 直接定址法312

10.9.3 除法313

10.9.4 乘法314

10.9.5 平方取中法314

10.9.6 折叠法314

10.9.7 解决散列冲突方法315

10.9.8 自哈希表删除项目318

10.9.9 哈希法的评估318

10.10 习题318

第11章 动态内存管理320

11.1 前言320

11.2 内存分配方法321

11.3 边界标记法322

11.3.1 可利用空间链表的结构323

11.3.2 分配算法324

11.3.3 回收算法325

11.4 伙伴系统327

11.4.1 可利用空间链表的结构327

11.4.2 分配算法328

11.4.3 回收算法329

11.5 费氏伙伴系统330

11.6 无用单元收集331

11.7 无用单元收集的改良333

11.8 内存压缩333

11.9 习题334

热门推荐