图书介绍
数据结构 使用C语言 第5版PDF|Epub|txt|kindle电子书版本网盘下载
- 朱战立编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121216992
- 出版时间:2014
- 标注页数:312页
- 文件大小:52MB
- 文件页数:320页
- 主题词:数据结构-高等学校-教材
PDF下载
下载说明
数据结构 使用C语言 第5版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 数据的操作3
1.1.5 “数据结构”课程讨论的主要内容4
1.2 抽象数据类型4
1.3 算法和算法的时间复杂度5
1.3.1 算法5
1.3.2 算法的性质和设计目标6
1.3.3 算法的时间效率分析7
1.3.4 算法耗时的实际测试10
1.3.5 数据元素个数和时间复杂度12
习题113
第2章 线性表16
2.1 线性表概述16
2.1.1 线性表的定义16
2.1.2 线性表的抽象数据类型16
2.2 线性表的顺序表示和实现17
2.2.1 顺序表的存储结构17
2.2.2 顺序表操作的实现18
2.2.3 顺序表操作的效率分析21
2.2.4 顺序表应用举例21
2.3 线性表的链式表示和实现24
2.3.1 单链表的存储结构24
2.3.2 单链表的操作实现27
2.3.3 单链表操作的效率分析31
2.3.4 单链表应用举例32
2.3.5 循环单链表33
2.3.6 双向链表33
2.4 静态链表37
2.5 算法设计举例37
2.5.1 顺序表算法设计举例37
2.5.2 单链表算法设计举例38
习题240
第3章 堆栈和队列44
3.1 堆栈44
3.1.1 堆栈的基本概念44
3.1.2 堆栈的抽象数据类型45
3.1.3 堆栈的顺序表示和实现46
3.1.4 堆栈的链式表示和实现48
3.2 堆栈应用50
3.2.1 括号匹配问题51
3.2.2 算术表达式计算问题53
3.3 队列58
3.3.1 队列的基本概念58
3.3.2 队列的抽象数据类型58
3.3.3 顺序队列以及存在的问题58
3.3.4 顺序循环队列的表示和实现59
3.3.5 链式队列62
3.3.6 队列的应用65
3.4 优先级队列69
3.4.1 顺序优先级队列的设计和实现69
3.4.2 优先级队列的应用71
习题373
第4章 串77
4.1 串概述77
4.1.1 串及其基本概念77
4.1.2 串的抽象数据类型78
4.1.3 C语言的串函数78
4.2 串的存储结构80
4.3 串基本操作的实现算法82
4.4 串的模式匹配算法87
4.4.1 Brute-Force算法87
4.4.2 KMP算法89
4.4.3 Brute-Force算法和KMP算法的比较94
习题497
第5章 数组99
5.1 数组概述99
5.1.1 数组的定义99
5.1.2 数组的实现机制99
5.1.3 数组的抽象数据类型100
5.2 动态数组100
5.2.1 动态数组的设计方法100
5.2.2 动态数组和静态数组对比103
5.3 特殊矩阵的压缩存储104
5.4 稀疏矩阵的压缩存储106
5.4.1 稀疏矩阵的三元组顺序表106
5.4.2 稀疏矩阵的三元组链表109
习题5110
第6章 递归算法113
6.1 递归的概念113
6.2 递归算法的执行过程114
6.3 递归算法的设计方法116
6.4 递归过程和运行时栈119
6.5 递归算法的时间效率分析120
6.6 递归算法到非递归算法的转换123
6.7 设计举例125
6.7.1 一般递归算法设计举例125
6.7.2 回溯算法及设计举例127
习题6130
第7章 广义表133
7.1 广义表概述133
7.1.1 广义表的概念133
7.1.2 广义表的抽象数据类型134
7.2 广义表的存储结构135
7.2.1 头链和尾链存储结构135
7.2.2 原子和子表存储结构135
7.3 广义表的操作实现136
7.3.1 头链和尾链存储结构下的操作实现136
7.3.2 头链和尾链存储结构应用举例140
7.3.3 原子和子表存储结构下的操作实现142
7.3.4 原子和子表存储结构应用举例144
习题7145
第8章 树和二叉树147
8.1 树147
8.1.1 树的定义147
8.1.2 树的表示方法148
8.1.3 树的抽象数据类型149
8.1.4 树的存储结构149
8.2 二叉树152
8.2.1 二叉树的定义152
8.2.2 二叉树的抽象数据类型153
8.2.3 二叉树的性质153
8.3 二叉树的设计和实现155
8.3.1 二叉树的存储结构155
8.3.2 二叉树的操作实现157
8.4 二叉树遍历159
8.4.1 二叉树遍历的方法和结构159
8.4.2 二叉链存储结构下二叉树遍历的实现160
8.4.3 二叉树遍历的应用161
8.4.4 非递归的二叉树遍历算法164
8.5 线索二叉树165
8.5.1 线索二叉树及其用途165
8.5.2 中序线索二叉树的设计167
8.5.3 中序线索二叉树循环操作的设计168
8.5.4 设计举例169
8.6 哈夫曼树170
8.6.1 哈夫曼树的基本概念170
8.6.2 哈夫曼编码问题171
8.6.3 哈夫曼编码问题设计和实现173
8.7 等价问题177
8.8 树与二叉树的转换181
8.9 树的遍历182
习题8182
第9章 图186
9.1 图概述186
9.1.1 图的基本概念186
9.1.2 图的抽象数据类型188
9.2 图的存储结构189
9.2.1 图的邻接矩阵存储结构189
9.2.2 图的邻接表存储结构190
9.3 图的实现191
9.3.1 邻接矩阵存储结构下图操作的实现191
9.3.2 邻接表存储结构下图操作的实现194
9.4 图的遍历198
9.4.1 图的深度和广度优先遍历算法198
9.4.2 图的深度和广度优先遍历算法实现200
9.5 最小生成树202
9.5.1 最小生成树的基本概念202
9.5.2 普里姆算法203
9.5.3 克鲁斯卡尔算法207
9.6 最短路径208
9.6.1 最短路径的基本概念208
9.6.2 每对顶点之间的最短路径212
9.7 拓扑排序215
9.8 关键路径217
习题9221
第10章 排序224
10.1 排序的基本概念224
10.2 插入排序226
10.2.1 直接插入排序226
10.2.2 希尔排序228
10.3 选择排序229
10.3.1 直接选择排序229
10.3.2 堆排序231
10.4 交换排序235
10.4.1 冒泡排序235
10.4.2 快速排序236
10.5 归并排序239
10.6 基数排序241
10.7 排序算法性能比较244
习题10245
第11章 查找249
11.1 查找的基本概念249
11.2 静态查找250
11.2.1 顺序表250
11.2.2 有序顺序表251
11.2.3 索引顺序表253
11.3 动态查找255
11.3.1 二叉排序树和平衡二叉树255
11.3.2 B树和B+树261
11.4 哈希查找267
11.4.1 哈希表的基本概念267
11.4.2 哈希函数构造方法269
11.4.3 哈希冲突解决方法270
11.4.4 哈希表设计272
习题11275
附录A 上机实习报告内容规范和上机实习报告实例279
附录A.1 上机实习报告内容规范279
附录A.2 上机实习报告实例279
附录B 部分习题解答284
参考文献311