数据结构与算法 C语言版PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:陈琳琳,李建林主编;孙启虎,李橙,郭龙源副主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302402534
- 页数:391 页
第1章 绪论 1
1.1 学习数据结构与算法的意义 1
1.1.1 学习数据结构的意义 1
1.1.2 学习算法的意义 2
1.2 数据结构 3
1.2.1 数据结构概述 3
1.2.2 基本概念 3
1.3 抽象数据类型 5
1.4 算法 6
1.4.1 算法概述 7
1.4.2 算法与数据结构之间的关系 8
1.4.3 算法的度量 8
1.5 算法分析 9
1.5.1 数学基础 9
1.5.2 所需分析的问题 11
1.5.3 运行时间的计算 11
1.5.4 检验你的分析 13
小结 15
自测题答案 16
编程项目 17
第2章 线性表 18
2.1 线性表的定义 18
2.1.1 线性表概述 18
2.1.2 线性表的抽象数据类型 19
2.1.3 线性表的相关操作 20
2.2 线性表的顺序存储结构 22
2.2.1 线性表的顺序存储结构 22
2.2.2 相关操作的实现 23
2.2.3 顺序存储结构的分析 29
2.3 线性表的链式存储结构 29
2.3.1 线性链表与相关操作实现 29
2.3.2 双向链表与相关操作实现 38
2.3.3 循环链表及其相关操作的实现 41
2.3.4 链式存储结构分析 42
2.4 线性表的应用 43
2.4.1 一元多项式的抽象数据类型 43
2.4.2 多项式的顺序表实现 43
小结 46
自测题答案 47
编程项目 48
第3章 栈和队列 49
3.1 栈 49
3.1.1 栈概述 49
3.1.2 栈的实现 50
3.1.3 栈的实现方式比较 54
3.2 栈的应用 55
3.2.1 平衡符号 55
3.2.2 表达式求值 57
3.2.3 函数调用 61
3.2.4 递归与栈 62
3.3 队列 67
3.3.1 队列概述 67
3.3.2 队列的实现 69
3.3.3 队列实现方法比较 76
3.4 队列的应用 76
3.4.1 排列问题 76
3.4.2 非排列问题 77
小结 79
自测题答案 79
编程项目 81
第4章 串 82
4.1 串的定义 82
4.1.1 串 82
4.1.2 串的抽象数据类型 83
4.2 串的存储实现 84
4.2.1 串的顺序存储结构 84
4.2.2 串的链式存储结构 87
4.3 串的模式匹配 88
4.3.1 简单模式匹配算法 88
4.3.2 KMP算法 90
4.3.3 其他模式匹配算法 94
小结 96
自测题答案 97
编程项目 98
第5章 数组及广义表 99
5.1 数组的定义 99
5.1.1 数组的基本概念 99
5.1.2 数组的抽象数据类型 100
5.2 数组的顺序存储 101
5.2.1 数组的顺序存储方式 101
5.2.2 数组的顺序存储的基本操作 102
5.3 矩阵的压缩存储 104
5.3.1 特殊矩阵 104
5.3.2 稀疏矩阵 107
5.4 广义表 115
5.4.1 广义表的定义 115
5.4.2 广义表的存储 117
5.4.3 广义表的基本操作 118
小结 122
自测题答案 123
编程项目 125
第6章 树和二叉树 126
6.1 树的定义与基本操作 126
6.1.1 树的定义与相关术语 126
6.1.2 树的抽象数据类型 128
6.2 二叉树 129
6.2.1 二叉树的定义与基本操作 129
6.2.2 二叉树的性质 131
6.2.3 二叉树的存储结构 133
6.2.4 二叉树的遍历 135
6.2.5 线索化二叉树 140
6.3 树和森林 144
6.3.1 树的存储结构 144
6.3.2 森林、树、二叉树的相互转化 147
6.3.3 树和森林的遍历 148
6.4 哈夫曼树与哈夫曼编码 149
6.4.1 哈夫曼树 150
6.4.2 哈夫曼编码 153
小结 157
自测题答案 158
编程项目 160
第7章 图 161
7.1 图的定义 161
7.1.1 图的定义和相关术语 161
7.1.2 图的抽象数据类型 165
7.2 图的存储方式 166
7.2.1 数组表示法 167
7.2.2 邻接表法 169
7.2.3 十字链表法 171
7.2.4 邻接多重表 173
7.3 图的遍历 175
7.3.1 深度优先遍历 175
7.3.2 广度优先遍历 177
7.4 图的连通性 180
7.4.1 无向图的连通性 180
7.4.2 有向图的连通性 183
7.5 最小生成树 184
7.5.1 基本概念 184
7.5.2 Prim算法 185
7.5.3 Kruskal算法 187
7.6 最短路径 189
7.6.1 从某个顶点到其余各顶点的最短路径 189
7.6.2 所有点对的最短路径 192
7.7 有向无环图的应用 195
7.7.1 拓扑排序 195
7.7.2 求解关键路径 199
小结 204
自测题答案 205
编程项目 209
第8章 查找 210
8.1 线性表上的查找 210
8.1.1 顺序表上的查找 210
8.1.2 有序表上的查找 211
8.1.3 索引顺序表上的查找 215
8.1.4 线性表上的查找算法比较 217
8.2 树上的查找 218
8.2.1 二叉排序树 218
8.2.2 平衡二叉树 226
8.2.3 B-树 233
8.3 哈希表 241
8.3.1 哈希表概述 241
8.3.2 哈希函数的构造 242
8.3.3 冲突的解决方法 245
8.3.4 哈希表的查找分析 251
小结 252
自测题答案 254
编程项目 257
第9章 排序 258
9.1 插入排序 258
9.1.1 直接插入排序 259
9.1.2 折半插入排序 260
9.1.3 2路插入排序 261
9.1.4 希尔排序 263
9.2 交换排序 266
9.2.1 冒泡排序 266
9.2.2 快速排序 267
9.3 选择排序 271
9.3.1 直接选择排序 271
9.3.2 树形选择排序 273
9.3.3 堆排序 274
9.4 归并排序 278
9.5 基数排序 281
9.6 各种内部排序方法比较 283
9.7 外部排序 286
9.7.1 选择外部排序的理由 286
9.7.2 简单外部排序算法 287
9.7.3 多路合并排序 289
9.7.4 替换-选择排序 289
小结 292
自测题答案 293
编程项目 296
附录 各章编程项目参考答案 297
参考文献 391
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《高考快速作文指导》张吉武,鲍志伸主编 2002
- 《建筑施工企业统计》杨淑芝主编 2008
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《汉语词汇知识与习得研究》邢红兵主编 2019
- 《黄遵宪集 4》陈铮主编 2019
- 《孙诒让集 1》丁进主编 2016
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《近代世界史文献丛编 19》王强主编 2017
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019