图书介绍

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

数据结构
  • 周洪玉,邵晶波主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302259459
  • 出版时间:2011
  • 标注页数:359页
  • 文件大小:20MB
  • 文件页数:370页
  • 主题词:数据结构-高等学校-教材

PDF下载


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

下载说明

数据结构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数据结构有关概念及术语4

1.1.3数据结构和抽象数据类型6

1.2算法描述与分析7

1.2.1算法的定义7

1.2.2算法描述工具——C语言8

1.2.3算法分析技术初步11

习题113

第2章 线性表15

2.1线性表的定义及其运算15

2.1.1线性表的定义15

2.1.2数据运算简介16

2.2线性表的顺序存储结构(向量)16

2.2.1顺序存储结构16

2.2.2向量中基本运算的实现17

2.3线性表的链式存储结构31

2.3.1单链表与指针31

2.3.2单链表的基本运算33

2.4循环链表和双向链表46

2.4.1循环链表46

2.4.2双向链表47

2.4.3顺序存储结构与链表存储结构比较52

2.5线性表的算法实现举例53

2.5.1实现线性表顺序存储结构及运算的C语言源程序53

2.5.2单链表处理的C语言源程序56

习题264

第3章 栈和队列66

3.1栈66

3.1.1栈的定义及运算66

3.1.2栈的顺序存储结构(向量)67

3.1.3栈的链式存储结构72

3.1.4栈的应用75

3.2队列78

3.2.1队列的定义78

3.2.2队列的顺序存储结构(向量)79

3.2.3队列的链式存储结构88

3.3栈和队列的算法实现举例92

习题3102

第4章串105

4.1串的定义及其基本运算105

4.1.1串的定义105

4.1.2串的基本运算106

4.2串的存储结构107

4.2.1串的顺序存储107

4.2.2串的链式存储111

4.3串的模式匹配117

4.3.1 Brute-Force算法117

4.3.2 KMP算法118

4.4串的模式匹配C语言程序实现举例122

4.4.1 Brute-Force算法的实现122

4.4.2 KMP算法的实现123

习题4125

第5章 数组和广义表127

5.1数组的基本概念127

5.1.1数组的概念127

5.1.2数组的顺序表示和实现127

5.1.3特殊矩阵的压缩存储130

5.2稀疏矩阵的三元组存储132

5.2.1稀疏矩阵的三元组表存储133

5.2.2稀疏矩阵的运算133

5.3稀疏矩阵的十字链表存储140

5.3.1十字链表的组成140

5.3.2十字链表的有关算法141

5.4广义表144

5.4.1广义表的概念和特性144

5.4.2广义表的存储结构146

5.4.3求广义表的深度148

5.4.4广义表的输出149

5.4.5建立广义表的存储结构149

5.4.6广义表的其他操作算法150

习题5155

第6章树158

6.1树的基本概念和术语158

6.1.1树的定义158

6.1.2树的常用术语159

6.1.3树的表示方法160

6.1.4树的基本操作161

6.2二叉树161

6.2.1二叉树的定义161

6.2.2二叉树的相关术语162

6.2.3二叉树的重要性质163

6.2.4二叉树的存储结构164

6.2.5二叉树的基本操作及实现167

6.3遍历二叉树169

6.3.1先根(序)遍历(DLR)169

6.3.2中根(序)遍历(LDR)170

6.3.3后根(序)遍历(LRD)170

6.3.4层次遍历170

6.3.5二叉树遍历的非递归实现171

6.3.6二叉树由遍历序列恢复二叉树173

6.3.7不用栈的二叉树遍历的非递归方法174

6.4线索二叉树175

6.4.1线索二叉树的基本概念175

6.4.2线索二叉树的逻辑表示图175

6.4.3线索二叉树的基本操作实现177

6.4.4二叉树遍历的应用181

6.5二叉树、树和森林183

6.5.1树的存储结构183

6.5.2树与二叉树之间的转换186

6.5.3森林与二叉树之间的转换186

6.6树的应用188

6.6.1哈夫曼树的基本概念188

6.6.2哈夫曼树的构造算法190

6.6.3哈夫曼树在编码问题中的应用191

6.6.4哈夫曼树在判定问题中的应用193

6.6.5二叉排序树194

6.7二叉树的建立和遍历C语言源程序示例197

习题6200

第7章图205

7.1图的基本概念205

7.1.1图的定义205

7.1.2图的基本术语206

7.2图的存储结构208

7.2.1邻接矩阵208

7.2.2邻接表209

7.3图的遍历211

7.3.1深度优先搜索211

7.3.2广度优先搜索212

7.3.3求图的连通分量213

7.4图的生成树213

7.4.1生成树的概念213

7.4.2最小生成树214

7.4.3普里姆算法和克鲁斯卡尔算法215

7.5图的应用218

7.5.1拓扑排序218

7.5.2关键路径221

7.5.3最短路径224

7.6图的算法C语言程序实现举例229

7.6.1无向图的邻接表的建立和遍历229

7.6.2有向无环图的拓扑排序和求关键路径231

习题7237

第8章 查找239

8.1基本概念239

8.2静态表查找240

8.2.1顺序表的查找241

8.2.2有序表的查找242

8.2.3索引顺序表的查找246

8.3动态查找表247

8.3.1二叉排序树247

8.3.2平衡二叉树253

8.3.3 B-树262

8.4哈希表265

8.4.1哈希表与哈希函数265

8.4.2构造哈希函数的常用方法266

8.4.3哈希冲突的解决方法269

8.4.4哈希表的查找及其分析271

8.4.5哈希表算法实现C语言源程序274

习题8276

第9章 排序280

9.1排序的基本概念280

9.2插入排序282

9.2.1直接插入排序282

9.2.2折半插入排序283

9.2.3希尔排序284

9.3交换排序289

9.3.1冒泡排序289

9.3.2快速排序290

9.4选择排序294

9.4.1简单选择排序294

9.4.2堆排序296

9.5归并排序303

9.6基数排序304

9.7各种内部排序方法的比较讨论308

9.8有关排序算法的C语言源程序309

9.9外排序316

习题9317

第10章 文件319

10.1文件的基本概念319

10.1.1文件的相关概念319

10.1.2记录的物理结构和逻辑结构320

10.1.3文件的分类321

10.1.4文件的运算321

10.1.5文件的物理结构323

10.2文件的常见组织形式323

10.2.1顺序文件323

10.2.2索引文件324

10.2.3索引顺序文件326

10.2.4散列文件327

10.2.5多重表文件和倒排文件327

习题10328

习题答案329

习题1答案329

习题2答案330

习题3答案332

习题4答案334

习题5答案335

习题6答案338

习题7答案341

习题8答案343

习题9答案347

习题10答案348

附录A抽象数据类型定义350

参考文献359

热门推荐