第1章 绪论 1
本章概略 1
1.1 针对考研数据结构的代码书写规范以及C&C++语言基础 1
1.1.1 考研综合应用题中算法设计部分的代码书写规范 1
1.1.2 考研中的C&C++语言基础 3
1.2 算法的时间复杂度与空间复杂度分析基础 10
1.2.1 考研中的算法时间复杂度分析 10
1.2.2 例题选讲 11
1.2.3 考研中的算法空间复杂度分析 12
1.3 数据结构和算法的基本概念 12
1.3.1 数据结构的基本概念 12
1.3.2 算法的基本概念 14
习题 15
习题答案 16
第2章 线性表 19
大纲要求 19
考点与要点分析 19
核心考点 19
基础要点 19
本章知识体系框架图 19
知识点讲解 20
2.1 线性表的基本概念与实现 20
2.2 线性表的基本操作 23
2.2.1 线性表的定义 23
2.2.2 线性表的结构定义 23
2.2.3 顺序表的算法操作 24
2.2.4 单链表的算法操作 27
2.2.5 双链表的算法操作 32
2.2.6 循环链表的算法操作 33
真题仿造 34
真题仿造答案与讲解 34
上机实战 35
习题+历年真题 36
习题答案+历年真题答案 40
第3章 栈、队列和数组 53
大纲要求 53
考点与要点分析 53
核心考点 53
基础要点 53
本章知识体系框架图 53
知识点讲解 54
3.1 栈和队列的基本概念 54
3.1.1 栈的基本概念 54
3.1.2 队列的基本概念 54
3.2 栈和队列的存储结构、算法与应用 54
3.2.1 本章所涉及的数据结构定义 54
3.2.2 顺序栈的基本算法操作 56
3.2.3 链栈的基本算法操作 57
3.2.4 栈的应用 59
3.2.5 顺序队的算法操作 62
3.2.6 链队的算法操作 64
3.3 特殊矩阵的压缩存储 66
真题仿造 68
真题仿造答案与讲解 69
上机实战 72
习题+历年真题 72
习题答案+历年真题答案 77
第4章 串(非统考补充内容) 89
知识点讲解 89
4.1 串数据类型的定义 89
4.1.1 串的定义 89
4.1.2 串的结构定义 89
4.1.3 串的基本操作 90
4.2 串的模式匹配算法 93
4.2.1 一种简单的模式匹配算法 93
4.2.2 KMP算法 94
习题 99
习题答案 100
上机实战 109
第5章 数组和稀疏矩阵(非统考补充内容) 110
知识点讲解 110
5.1 数组 110
5.2 稀疏矩阵 111
习题 116
习题答案 117
上机实战 125
第6章 树与二叉树 126
大纲要求 126
考点与要点分析 126
核心考点 126
基础要点 126
本章知识体系框架图 126
知识点讲解 127
6.1 树的基本概念 127
6.1.1 树的定义 127
6.1.2 树的基本术语 127
6.1.3 树的存储结构 128
6.2 二叉树 128
6.2.1 二叉树的定义 128
6.2.2 二叉树的主要性质 129
6.2.3 二叉树的存储结构 130
6.2.4 二叉树的遍历算法 131
6.2.5 线索二叉树的基本概念和构造 140
6.3 树和森林 142
6.3.1 孩子兄弟存储结构 142
6.3.2 森林与二叉树的转换 143
6.3.3 树和森林的遍历 143
6.4 树与二叉树的应用 144
6.4.1 二叉排序树与平衡二叉树 144
6.4.2 赫夫曼树和赫夫曼编码 144
真题仿造 146
真题仿造答案与解析 147
上机实战 148
习题+历年真题 149
习题答案+历年真题答案 154
第7章 图 170
大纲要求 170
考点与要点分析 170
核心考点 170
基础要点 170
本章知识体系框架图 170
知识点讲解 171
7.1 图的基本概念 171
7.2 图的存储结构 172
7.2.1 邻接矩阵 172
7.2.2 邻接表 173
7.2.3 邻接多重表 174
7.3 图的遍历算法操作 175
7.3.1 深度优先搜索遍历 175
7.3.2 广度优先搜索遍历 176
7.3.3 例题选讲 178
7.4 最小(代价)生成树 180
7.4.1 普里姆算法和克鲁斯卡尔算法 180
7.4.2 例题选讲 184
7.5 最短路径 185
7.5.1 迪杰斯特拉算法 185
7.5.2 弗洛伊德算法 191
7.6 拓扑排序 194
7.6.1 AOV网 194
7.6.2 拓扑排序 194
7.6.3 例题选讲 196
7.7 关键路径 197
7.7.1 AOE网 197
7.7.2 关键路径 197
真题仿造 200
真题仿造答案解析 200
上机实战 202
习题+历年真题 203
习题答案+历年真题答案 209
第8章 排序 221
大纲要求 221
考点与要点分析 221
核心考点 221
基础要点 221
本章知识体系框架图 222
知识点讲解 222
8.1 排序的基本概念 222
8.1.1 排序 222
8.1.2 稳定性 222
8.1.3 排序算法的分类 222
8.2 插入类排序 223
8.2.1 直接插入排序 223
8.2.2 折半插入排序 224
8.2.3 希尔排序 225
8.3 交换类排序 227
8.3.1 起泡排序 227
8.3.2 快速排序 228
8.4 选择类排序 230
8.4.1 简单选择排序 230
8.4.2 堆排序 231
8.5 二路归并排序 234
8.6 基数排序 235
8.7 外部排序 238
8.7.1 基本概念 238
8.7.2 归并排序法 238
8.7.3 败者树 240
真题仿造 242
真题仿造答案与解析 243
上机实战 244
习题+历年真题 244
习题答案+历年真题答案 249
第9章 查找 259
大纲要求 259
考点与要点分析 259
核心考点 259
基础要点 259
本章知识体系框架图 259
知识点讲解 260
9.1 查找的基本概念、顺序查找法、折半查找法 260
9.1.1 查找的基本概念 260
9.1.2 顺序查找法 261
9.1.3 折半查找法 261
9.1.4 分块查找 263
9.2 二叉排序树、平衡二叉树 264
9.2.1 二叉排序树 264
9.2.2 平衡二叉树 267
9.3 B-树的基本概念及其基本操作、B+树的基本概念 269
9.3.1 B-树的基本概念 269
9.3.2 B-树的基本操作 271
9.3.3 B+树的基本概念 275
9.4 散列表 276
9.4.1 散列表的概念 276
9.4.2 散列表的建立方法以及冲突解决方法 276
9.4.3 散列表的性能分析 280
真题仿造 281
真题仿造答案与解析 281
上机实战 282
习题+历年真题 282
习题答案+历年真题答案 287
第10章 考研中某些算法的分治法解释 300
附录 304
附录A 历年真题分值、考点统计表 304
附录B 历年真题考点索引表 306
参考文献 308
天勤考研高分笔记系列书籍之考研公共课 309