图书介绍

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

数据结构 C语言描述
  • 陈慧南编著 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:9787560622262
  • 出版时间:2009
  • 标注页数:322页
  • 文件大小:63MB
  • 文件页数:336页
  • 主题词:数据结构-高等学校-教材;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实现数据结构8

1.4算法和算法分析9

1.4.1算法及其性能标准9

1.4.2算法的时间复杂度10

1.4.3渐近时间复杂度12

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

1.4.5算法的空间复杂度13

小结14

习题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数组作为抽象数据类型71

4.4特殊矩阵72

4.4.1对称矩阵72

*4.4.2带状矩阵72

4.5稀疏矩阵74

4.5.1稀疏矩阵ADT74

4.5.2稀疏矩阵的顺序表示74

4.5.3稀疏矩阵转置76

*4.5.4稀疏矩阵相乘78

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

*4.5.6建立正交链表84

*4.5.7打印正交链表85

小结86

习题486

第5章 字符串和广义表88

5.1字符串88

5.1.1字符串ADT88

5.1.2字符串的存储表示89

5.1.3简单模式匹配算法90

*5.1.4模式匹配的KMP算法93

*5.2广义表97

5.2.1广义表的概念97

5.2.2广义表ADT98

5.2.3广义表的存储表示99

5.2.4广义表的算法100

小结101

习题5101

第6章 树102

6.1树的基本概念102

6.1.1树的定义102

6.1.2基本术语103

6.2二叉树104

6.2.1二叉树的定义和性质104

6.2.2二叉树ADT106

6.2.3二叉树的存储表示107

6.2.4二叉树的遍历111

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

*6.2.6二叉树遍历的应用实例117

*6.2.7线索二叉树119

6.3树和森林122

6.3.1森林与二叉树的转换122

6.3.2树和森林的存储表示123

6.3.3树和森林的遍历125

*6.4堆和优先权队列126

6.4.1堆127

6.4.2优先权队列129

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

6.5.1树的路径长度132

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

6.5.3哈夫曼编码136

*6.6并查集和等价关系137

6.6.1并查集137

6.6.2并查集的实现138

6.6.3集合按等价关系分组141

小结142

习题6142

第7章 集合和搜索145

7.1集合及其表示145

7.1.1集合和搜索145

7.1.2集合ADT146

7.1.3集合的表示147

7.2顺序搜索147

7.3二分搜索149

7.3.1对半搜索150

7.3.2二叉判定树151

*7.3.3斐波那契搜索153

*7.4搜索算法的时间下界154

小结155

习题7156

第8章 搜索树157

8.1二叉搜索树157

8.1.1二叉搜索树的定义157

8.1.2二叉搜索树的搜索157

8.1.3二叉搜索树的插入158

8.1.4二叉搜索树的删除160

*8.1.5二叉搜索树的高度162

8.2二叉平衡树163

8.2.1二叉平衡树的定义163

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

8.2.3二叉平衡树的插入170

8.2.4二叉平衡树的删除173

8.2.5二叉平衡数的高度176

8.3 B-树176

8.3.1 m叉搜索树176

8.3.2 B-树的定义178

8.3.3 B-树的高度179

8.3.4 B-树的搜索179

8.3.5 B-树的插入179

8.3.6 B-树的删除182

*8.4键树184

8.4.1键树的定义184

8.4.2双链树185

8.4.3 Trie树186

*8.5伸展树187

小结190

习题8190

第9章 跳表和散列表192

9.1字典192

*9.2跳表192

9.2.1什么是跳表193

9.2.2跳表的搜索196

9.2.3跳表的插入197

9.2.4跳表的删除198

9.3散列表199

9.3.1散列技术199

9.3.2散列函数200

9.3.3解决冲突的拉链法202

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

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

9.3.6性能分析209

小结209

习题9210

第10章 图211

10.1图的基本概念211

10.1.1图的定义与术语211

10.1.2图ADT214

10.2图的存储结构215

10.2.1矩阵表示法215

10.2.2邻接表表示法218

*10.2.3多重表表示法221

10.3图的遍历222

10.3.1深度优先遍历222

10.3.2宽度优先遍历224

10.4拓扑排序和关键路径226

10.4.1拓扑排序226

*10.4.2关键路径230

10.5最小代价生成树233

10.5.1普里姆算法234

*10.5.2克鲁斯卡尔算法235

*10.6最短路径237

10.6.1单源最短路径238

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

小结244

习题10244

第11章 内排序247

11.1排序的基本概念247

11.2插入排序248

11.2.1直接插入排序248

11.2.2*希尔排序252

11.3交换排序253

11.3.1冒泡排序253

11.3.2快速排序255

11.4合并排序260

11.4.1两路合并排序260

11.4.2合并排序的迭代算法260

*11.4.3链表上的合并排序262

11.5选择排序265

11.5.1简单选择排序266

*11.5.2堆排序267

*11.6排序算法的时间下界268

*11.7基数排序269

小结273

习题11273

第12章 文件和外排序275

*12.1辅助存储器简介275

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

12.1.2磁盘存储器275

12.2文件277

12.2.1文件的基本概念277

12.2.2文件的组织方式277

12.2.3 C语言文件281

12.3文件的索引结构282

12.3.1静态索引结构282

12.3.2动态索引结构283

*12.4外排序283

12.4.1外排序的基本过程284

12.4.2初始游程的生成284

12.4.3多路合并286

12.4.4最佳合并树288

小结289

习题12290

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

13.1实习目的和要求291

13.1.1实习目的291

13.1.2实习要求291

13.2实习步骤292

13.3实习报告292

13.4实习题293

实习1数组操作293

实习2链表操作294

实习3表达式计算294

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

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

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

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

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

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

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

实习11二叉树的基本运算297

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

实习13 B-树检索298

实习14散列表检索299

实习15 图运算及其应用299

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

实习17外排序300

13.5实习报告范例301

13.5.1实习题:表达式计算301

13.5.2实习报告301

附录A 软件工程概述307

A.1软件开发方法307

A.2软件文档写作309

A.3系统测试方法310

附录B 专用名词中英文对照表314

参考文献320

热门推荐