图书介绍

数据结构 C语言描述2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

数据结构 C语言描述
  • 陈慧南编著 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:9787560637471
  • 出版时间:2015
  • 标注页数:322页
  • 文件大小:64MB
  • 文件页数:337页
  • 主题词:数据结构-高等学校-教材;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 数据的逻辑结构2

1.1.3 数据的存储结构3

1.1.4 数据结构的运算4

1.2 数据抽象和抽象数据类型5

1.2.1 抽象、数据抽象和过程抽象5

1.2.2 封装与信息隐蔽5

1.2.3 数据类型和抽象数据类型5

1.2.4 数据结构与抽象数据类型6

1.3 描述数据结构7

1.3.1 数据结构的规范7

1.3.2 实现数据结构7

1.4 算法和算法分析9

1.4.1 算法及其性能标准9

1.4.2 算法的时间复杂度10

1.4.3 渐近时间复杂度12

1.4.4 最坏、最好和平均情况时间复杂度13

1.4.5 算法的空间复杂度13

小结13

习题114

第2章 数组和链表16

2.1 结构与联合16

2.1.1 结构16

2.1.2 联合17

2.2 数组18

2.2.1 一维数组18

2.2.2 二维数组18

2.2.3 多维数组20

2.3 链表20

2.3.1 指针20

2.3.2 单链表24

2.3.3 带表头结点的单链表30

2.3.4 循环链表31

2.3.5 双向链表31

小结33

习题233

第3章 堆栈和队列35

3.1 堆栈35

3.1.1 堆栈ADT35

3.1.2 堆栈的顺序表示36

3.1.3 堆栈的链接表示38

3.2 队列39

3.2.1 队列ADT39

3.2.2 队列的顺序表示40

3.2.3 队列的链接表示43

3.3 表达式的计算43

3.3.1 表达式43

3.3.2 中缀表达式转换为后缀表达式44

3.3.3 计算后缀表达式的值48

3.4 递归和递归过程50

3.4.1 递归的概念50

3.4.2 递归的实现51

3.5 演示和测试53

小结55

习题355

第4章 线性表和数组ADT57

4.1 线性表57

4.1.1 线性表ADT57

4.1.2 线性表的顺序表示58

4.1.3 线性表的链接表示61

4.1.4 两种存储表示的比较65

4.2 多项式的算术运算65

4.2.1 多项式ADT65

4.2.2 多项式的链接表示66

4.2.3 多项式的输入和输出67

4.2.4 多项式相加69

4.3 数组作为抽象数据类型70

4.4 特殊矩阵71

4.4.1 对称矩阵71

4.4.2 带状矩阵72

4.5 稀疏矩阵73

4.5.1 稀疏矩阵ADT73

4.5.2 稀疏矩阵的顺序表示74

4.5.3 稀疏矩阵转置75

4.5.4 稀疏矩阵相乘78

4.5.5 稀疏矩阵的正交链表表示81

4.5.6 建立正交链表83

4.5.7 打印正交链表84

小结85

习题485

第5章 字符串和广义表87

5.1 字符串87

5.1.1 字符串ADT87

5.1.2 字符串的存储表示88

5.1.3 简单模式匹配算法89

5.1.4 模式匹配的KMP算法92

5.2 广义表96

5.2.1 广义表的概念96

5.2.2 广义表ADT97

5.2.3 广义表的存储表示98

5.2.4 广义表的算法99

小结100

习题5100

第6章 树101

6.1 树的基本概念101

6.1.1 树的定义101

6.1.2 基本术语102

6.2 二叉树103

6.2.1 二叉树的定义和性质103

6.2.2 二叉树ADT105

6.2.3 二叉树的存储表示106

6.2.4 二叉树的遍历109

6.2.5 二叉树遍历的非递归算法113

6.2.6 二叉树遍历的应用实例115

6.2.7 线索二叉树117

6.3 树和森林121

6.3.1 森林与二叉树的转换121

6.3.2 树和森林的存储表示122

6.3.3 树和森林的遍历124

6.4 堆和优先权队列125

6.4.1 堆125

6.4.2 优先权队列128

6.5 哈夫曼树和哈夫曼编码131

6.5.1 树的路径长度131

6.5.2 哈夫曼树和哈夫曼算法132

6.5.3 哈夫曼编码134

6.6 并查集和等价关系136

6.6.1 并查集136

6.6.2 并查集的实现136

6.6.3 集合按等价关系分组139

小结140

习题6140

第7章 集合和搜索142

7.1 集合及其表示142

7.1.1 集合和搜索142

7.1.2 集合ADT143

7.1.3 集合的表示144

7.2 顺序搜索144

7.3 二分搜索146

7.3.1 对半搜索147

7.3.2 二叉判定树148

7.3.3 斐波那契搜索150

7.3.4 插值搜索151

7.4 分块搜索152

7.5 搜索算法的时间下界153

小结154

习题7154

第8章 搜索树155

8.1 二叉搜索树155

8.1.1 二叉搜索树的定义155

8.1.2 二叉搜索树的搜索155

8.1.3 二叉搜索树的插入156

8.1.4 二叉搜索树的删除158

8.1.5 二叉搜索树的高度160

8.2 二叉平衡树161

8.2.1 二叉平衡树的定义161

8.2.2 二叉平衡树的平衡旋转162

8.2.3 二叉平衡树的插入168

8.2.4 二叉平衡树的删除171

8.2.5 二叉平衡树的高度174

8.3 B-树174

8.3.1 m叉搜索树174

8.3.2 B-树的定义176

8.3.3 B-树的高度176

8.3.4 B-树的搜索177

8.3.5 B-树的插入177

8.3.6 B-树的删除180

8.4 键树182

8.4.1 键树的定义182

8.4.2 双链树183

8.4.3 Trie树184

8.5 伸展树185

小结187

习题8188

第9章 跳表和散列表189

9.1 字典189

9.2 跳表189

9.2.1 什么是跳表190

9.2.2 跳表的搜索193

9.2.3 跳表的插入194

9.2.4 跳表的删除195

9.3 散列表196

9.3.1 散列技术196

9.3.2 散列函数197

9.3.3 解决冲突的拉链法198

9.3.4 解决冲突的线性探查法199

9.3.5 解决冲突的其他开地址法203

9.3.6 性能分析205

小结206

习题9206

第10章 图207

10.1 图的基本概念207

10.1.1 图的定义与术语207

10.1.2 图ADT209

10.2 图的存储结构210

10.2.1 矩阵表示法210

10.2.2 邻接表表示法214

10.2.3 正交链表和多重表表示法217

10.3 图的遍历219

10.3.1 深度优先遍历219

10.3.2 宽度优先遍历221

10.4 拓扑排序和关键路径223

10.4.1 拓扑排序223

10.4.2 关键路径227

10.5 最小代价生成树230

10.5.1 普里姆算法231

10.5.2 克鲁斯卡尔算法232

10.6 最短路径234

10.6.1 单源最短路径235

10.6.2 所有顶点之间的最短路径238

小结240

习题10241

第11章 内排序243

11.1 排序的基本概念243

11.2 插入排序244

11.2.1 直接插入排序244

11.2.2 希尔排序248

11.2.3 对半插入排序249

11.3 交换排序249

11.3.1 冒泡排序250

11.3.2 快速排序251

11.4 合并排序256

11.4.1 两路合并排序256

11.4.2 合并排序的迭代算法256

11.4.3 链表上的合并排序258

11.5 选择排序261

11.5.1 简单选择排序262

11.5.2 堆排序263

11.6 排序算法的时间下界264

11.7 基数排序265

小结269

习题11269

第12章 文件和外排序271

12.1 辅助存储器简介271

12.1.1 主存储器和辅助存储器271

12.1.2 磁盘存储器271

12.2 文件273

12.2.1 文件的基本概念273

12.2.2 文件的组织方式273

12.2.3 C语言文件277

12.3 文件的索引结构278

12.3.1 静态索引结构278

12.3.2 动态索引结构279

12.4 外排序280

12.4.1 外排序的基本过程280

12.4.2 初始游程的生成280

12.4.3 多路合并282

12.4.4 最佳合并树284

小结285

习题12286

第13章 实习指导和实习题287

13.1 实习目的和要求287

13.1.1 实习目的287

13.1.2 实习要求287

13.2 实习步骤288

13.3 实习报告288

13.4 实习题289

实习1 数组操作289

实习2 链表操作290

实习3 表达式计算290

实习4 队列运算和用户界面设计291

实习5 线性表运算及应用291

实习6 一元多项式的相加和相乘291

实习7 对称矩阵的压缩存储292

实习8 稀疏矩阵的三元组表292

实习9 稀疏矩阵的正交链表292

实习10 字符串运算和文本处理293

实习11 二叉树的基本运算和应用293

实习12 哈夫曼编码和译码系统294

实习13 B-树检索294

实习14 散列表检索295

实习15 图运算及其应用295

实习16 内排序算法及其性能比较296

实习17 外排序296

13.5 实习报告范例297

13.5.1 实习题:表达式计算297

13.5.2 实习报告297

13.6 上机考核303

13.6.1 考核目的303

13.6.2 考核目标303

13.6.3 考核要求303

13.6.4 软件环境303

13.6.5 考核方式303

13.6.6 试题样例303

附录A 软件工程概述305

附录B 考研大纲和教材内容312

附录C 专用名词中英文对照表316

参考文献322

热门推荐