图书介绍
数据结构 使用C语言 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构 使用C语言 第3版](https://www.shukui.net/cover/63/33168639.jpg)
- 朱战立编著 著
- 出版社: 西安:西安交通大学出版社
- ISBN:7560508839
- 出版时间:2004
- 标注页数:330页
- 文件大小:13MB
- 文件页数:343页
- 主题词:
PDF下载
下载说明
数据结构 使用C语言 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
第3版前言1
第2版前言1
前言1
第0章 C语言程序设计1
0.1 程序的结构1
0.2 函数2
0.2.1 返回值2
0.2.2 输入型参数3
0.2.3 输出型参数4
0.3 结构体6
0.4 自定义语句7
0.5 动态内存分配8
0.6 一个程序例子10
习题零13
第1章 绪论14
1.1 数据结构的基本概念14
1.2 抽象数据类型和软件构造方法17
1.3 算法和算法的时间复杂度18
1.3.1 算法18
1.3.2 算法设计目标20
1.3.3 算法时间效率的度量21
1.4 算法书写规范25
习题一25
2.1.1 线性表的定义27
第2章 线性表27
2.1 线性表抽象数据类型27
2.1.2 线性表抽象数据类型28
2.2 线性表的顺序表示和实现29
2.2.1 顺序表的存储结构29
2 2 2 顺序表操作的实现30
2 2 3 顺序表操作的效率分析33
2 2.4 顺序表应用举例33
2.3 线性表的链式表示和实现37
2.3.1 单链表的存储结构37
2 3 2 单链表的操作实现40
2.3.4 单链表应用举例45
2.3 3 单链表操作的效率分析45
2 3 5 循环单链表47
2 3 6 双向链表47
2 4 静态链表51
2.5 算法设计举例52
2 5 1 顺序表算法设计举例52
2 5.2 单链表算法设计举例53
习题二55
第3章 堆栈和队列58
3 1 堆栈58
3.1.1 堆栈的基本概念58
3 1.2 堆栈抽象数据类型60
3 1 3 堆栈的顺序表示和实现60
3 1.4 堆栈的链式表示和实现63
3.2 堆栈应用66
3.2.1 括号匹配问题66
3.2.2 表达式计算问题69
3.3 队列72
3.3.1 队列的基本概念72
3 3.2 队列抽象数据类型73
3 3.3 顺序队列73
3 3.4 顺序循环队列的表示和实现74
3.3.5 链式队列77
3 3.6 队列的应用80
3 4.1 顺序优先级队列的设计和实现82
3 4 优先级队列82
3 4.2 优先级队列的应用85
习题三87
第4章 串90
4.1 串90
4 1.1 串及其基本概念90
4 1 2 串的抽象数据类型91
4 1 3 C语言的串函数92
4.2 串的存储结构94
4.2.1 串的顺序存储结构94
4.2.2 串的链式存储结构95
4.3 串基本操作的实现算法96
4.4.1 Brute-Force算法104
4.4 串的模式匹配算法104
4 4.2 KMP算法106
4 4.3 Brute-Force算法和KMP算法的比较110
习题四112
第5章 数组114
5.1 数组114
5.1.1 数组的定义114
5.1.2 数组的实现机制115
5.1.3 数组抽象数据类型115
5 2 动态数组116
5.2.1 动态数组的设计方法116
5 2 2 动态数组和静态数组对比119
5.3 特殊矩阵的压缩存储120
5.4 稀疏矩阵的压缩存储121
5 4.1 稀疏矩阵的三元组顺序表122
5.4.2 稀疏矩阵的三元组链表127
习题五129
第6章 递归算法132
6.1 递归的概念132
6.2 递归算法的执行过程133
6 3 递归算法的设计方法136
6.4 递归过程和运行时栈138
6.5 递归算法的效率分析140
6.6 递归算法到非递归算法的转换142
6 7 设计举例145
6 7.1 一般递归算法设计举例145
6 7.2 回溯法及设计举例148
习题六152
第7章 树和二叉树155
7.1 树155
7 1 1 树的定义155
7 1.2 树的表示方法156
7.1.3 树的抽象数据类型157
7.1.4 树的存储结构158
7.2 二叉树160
7.2.1 二叉树的定义160
7.2.2 二叉树抽象数据类型161
7.2.3 二叉树的性质162
7.3.1 二叉树的存储结构164
7.3 二叉树的设计和实现164
7.3.2 二叉链存储结构的二叉树操作实现166
7.4 二叉树遍历169
7.4.1 二叉树遍历169
7 4 2 二叉链存储结构下二叉树遍历的实现171
7 4 3 二叉树遍历的应用172
7.4.4 非递归的二叉树遍历算法175
7.5 线索二叉树177
7 5.1 线索二叉树的概念177
7.5.2 中序线索二叉树的设计179
7 5.3 中序线索二叉树循环操作的设计181
7.5.4 设计举例182
7.6.1 哈夫曼树的基本概念184
7.6 哈夫曼树184
7.6.2 哈夫曼编码问题185
7.6.3 哈夫曼编码问题设计和实现186
7.7 树与二叉树的转换192
7.7.1 树转换为二叉树193
7.7.2 二叉树还原为树193
7.8 树的遍历194
习题七195
第8章 图197
8.1 图197
8.1.1 图的基本概念197
8.1.2 图的抽象数据类型199
8.2.1 图的邻接矩阵存储结构200
8.2 图的存储结构200
8.2.2 图的邻接表存储结构202
8.3 图的实现202
8 3.1 邻接矩阵存储结构下图操作的实现202
8.3.2 邻接表存储结构下图操作的实现207
8.4 图的遍历212
8 4.1 图的深度和广度优先遍历算法212
8.4.2 图的深度和广度优先遍历算法实现214
8.5 最小生成树217
8.5.1 最小生成树的基本概念217
8 5 2 普里姆算法218
8.5.3 克鲁斯卡尔算法223
8.6 1 最短路径的基本概念224
8.6 最短路径224
8.6.2 从一个结点到其余各结点的最短路径225
8.6.3 每对结点之间的最短路径229
习题八232
第9章 排序234
9.1 排序的基本概念234
9.2 插入排序236
9.2.1 直接插入排序236
9.2.2 希尔排序239
9.3 选择排序241
9.3.1 直接选择排序241
9.3.2 堆排序242
9.4.1 冒泡排序247
9.4 交换排序247
9.4.2 快速排序249
9.5 归并排序251
9.6 基数排序254
9.7 性能比较257
习题九258
第10章 查找260
10.1 查找的基本概念260
10 2 静态查找表261
10.2.1 顺序表261
10.2.2 有序顺序表262
10.2 3 索引顺序表264
10.3.1 二叉排序树267
10.3 动态查找表267
10.3.2 B树274
10.4 哈希表278
10.4.1 哈希表的基本概念278
10 4.2 哈希函数构造方法280
10.4.3 哈希冲突解决方法281
10.4.4 哈希表设计举例283
习题十287
第11章 文件288
11.1 文件概述288
11.1 1 文件的演变过程及基本概念288
11.1 2 文件的存储介质289
11.1 3 文件的基本操作291
11.2 顺序文件292
11 3 索引文件293
11 4 ISAM文件294
11 5 VSAM文件296
11 6 散列文件298
习题十一300
附录1 上机实习内容规范和实习报告范例301
附录1.1 上机实习内容规范301
附录1.2 上机实习报告范例——回文问题302
附录1.3 上机实习报告范例——约瑟夫环问题308
附录2 部分习题解答314
参考文献330