新版使用说明: 为稳妥的复习办法是,准备一本知识点讲解更为丰富的“数据结构”科目书籍,例如严蔚敏老师的《数据结构》,把它当做“知识点字典”,复习的时候先看本辅导书,等把本书中涉及的知识点全部熟练掌握之后,如时间有富余,再去严老师的书中进行知识点扩展,查缺补漏。本书是根据现有多本数据结构书籍,以往年多份考研大纲为参考系,对知识点进行提纯,并结合通俗易懂的讲解方式而编写而成的,虽精简实用却难面面俱到,因此需要结合考生自己复习时间的多少,合理规划在本书以及其他书籍上所花的时间。相信按照这种方法,可以大大提高考生的复习效率。近考研形势又有了新的变化,具体如何变考生可以自己去详细了解,但是不论怎么变上边提到的方法都是适用的,因为这种方法针对的是数据结构这门课的掌握程度而不仅仅是应付某一次考试。 注意:本书中所出现的所有大纲字样,均不特指任一版本的数据结构考研大纲,这里的大纲是根据往年所有大纲以及考研真题所总结出来的一个大纲。
本书针对近几年全国计算机学科专业综合考试大纲的“数据结构”部分进行了深入解读,以一种独创的方式对考试大纲知识点进行了讲解,即从考生的视角剖析知识难点;以通俗易懂的语言取代晦涩难懂的专业术语;以成功考生的亲身经历指引复习方向;以风趣幽默的笔触缓解考研压力。读者对书中的知识点讲解有任何疑问都可与作者进行在线互动,为考生解决复习中的疑难点,提高考生的复习效率。
根据计算机专业研究生入学考试形势的变化,书中对大量非统考知识点进行了讲解,使本书所包含的知识点除覆盖统考大纲的所有内容外,还包括了各自主命题高校所要求的知识点。
序 新版更新简介及互动服务 前言 第1章 绪论 1 本章概略 1 1.1 针对考研数据结构的代码书写规范以及C C 语言基础 1 1.1.1 考研综合应用题中算法设计部分的代码书写规范 1 1.1.2 考研中的C C 语言基础 3 1.2 算法的时间复杂度与空间复杂度分析基础 12 1.2.1 考研中的算法时间复杂度分析 12 1.2.2 例题选讲 12 1.2.3 考研中的算法空间复杂度分析 14 1.3 数据结构和算法的基本概念14 1.3.1 数据结构的基本概念14 序
新版更新简介及互动服务
前言
第1章 绪论 1
本章概略 1
1.1 针对考研数据结构的代码书写规范以及C&C 语言基础 1
1.1.1 考研综合应用题中算法设计部分的代码书写规范 1
1.1.2 考研中的C&C 语言基础 3
1.2 算法的时间复杂度与空间复杂度分析基础 12
1.2.1 考研中的算法时间复杂度分析 12
1.2.2 例题选讲 12
1.2.3 考研中的算法空间复杂度分析 14
1.3 数据结构和算法的基本概念 14
1.3.1 数据结构的基本概念 14
1.3.2 算法的基本概念 15
习题 16
习题答案 17
第2章 线性表 20
大纲要求 20
考点与要点分析 20
核心考点 20
基础要点 20
知识点讲解 20
2.1 线性表的基本概念与实现 20
2.2 线性表的结构体定义和基本操作 24
2.2.1 线性表的结构体定义 24
2.2.2 顺序表的操作 26
2.2.3 单链表的操作 29
2.2.4 双链表的操作 33
2.2.5 循环链表的操作 35
真题仿造 35
真题仿造答案与讲解 36
习题 真题精选 37
习题答案 真题精选答案 41
第3章 栈和队列 55
大纲要求 55
考点与要点分析 55
核心考点 55
基础要点 55
知识点讲解 55
3.1 栈和队列的基本概念 55
3.1.1 栈的基本概念 55
3.1.2 队列的基本概念 56
3.2 栈和队列的存储结构、算法与应用 56
3.2.1 本章所涉及的结构体定义 56
3.2.2 顺序栈 57
3.2.3 链栈 59
3.2.4 栈的应用 60
3.2.5 顺序队 64
3.2.6 链队 66
3.3 抽象数据类型 69
真题仿造 71
真题仿造答案与讲解 71
习题 真题精选 74
习题答案 真题精选答案 79
第4章 串 91
知识点讲解 91
4.1 串数据类型的定义 91
4.1.1 串的定义 91
4.1.2 串的存储结构 91
4.1.3 串的基本操作 92
4.2 串的模式匹配算法 95
4.2.1 简单模式匹配算法 95
4.2.2 KMP算法 96
4.2.3 KMP算法的改进 99
习题 102
习题答案 103
第5章 数组、矩阵与广义表 113
知识点讲解 113
5.1 数组 113
5.2 矩阵的压缩存储 114
5.2.1 矩阵 114
5.2.2 特殊矩阵和稀疏矩阵 115
5.3 广义表 121
习题 122
习题答案 123
第6章 树与二叉树 132
大纲要求 132
考点与要点分析 132
核心考点 132
基础要点 132
知识点讲解 132
6.1 树的基本概念 132
6.1.1 树的定义 132
6.1.2 树的基本术语 132
6.1.3 树的存储结构 133
6.2 二叉树 134
6.2.1 二叉树的定义 134
6.2.2 二叉树的主要性质 135
6.2.3 二叉树的存储结构 137
6.2.4 二叉树的遍历算法 137
6.2.5 二叉树遍历算法的改进 146
6.3 树和森林与二叉树的互相转换 155
6.3.1 树转换为二叉树 155
6.3.2 二叉树转换为树 156
6.3.3 森林转换为二叉树 156
6.3.4 二叉树转换为森林 157
6.3.5 树和森林的遍历 157
6.4 树与二叉树的应用 158
6.4.1 二叉排序树与平衡二叉树 158
6.4.2 赫夫曼树和赫夫曼编码 159
真题仿造 162
真题仿造答案与解析 162
习题 真题精选 163
习题答案 真题精选答案 168
第7章 图 183
大纲要求 183
考点与要点分析 183
核心考点 183
基础要点 183
知识点讲解 183
7.1 图的基本概念 183
7.2 图的存储结构 184
7.2.1 邻接矩阵 185
7.2.2 邻接表 186
7.2.3 邻接多重表 187
7.3 图的遍历算法操作 188
7.3.1 深度优先搜索遍历 188
7.3.2 广度优先搜索遍历 189
7.3.3 例题选讲 190
7.4 最小(代价)生成树 193
7.4.1 普里姆算法和克鲁斯卡尔算法 193
7.4.2 例题选讲 197
7.5 最短路径 198
7.5.1 迪杰斯特拉算法 198
7.5.2 弗洛伊德算法 204
7.6 拓扑排序 207
7.6.1 AOV网 207
7.6.2 拓扑排序核心算法 207
7.6.3 例题选讲 209
7.7 关键路径 209
7.7.1 AOE网 209
7.7.2 关键路径核心算法 210
真题仿造 213
真题仿造答案与解析 213
习题 真题精选 215
习题答案 真题精选答案 221
第8章 排序 234
大纲要求 234
考点与要点分析 234
核心考点 234
基础要点 234
知识点讲解 235
8.1 排序的基本概念 235
8.1.1 排序 235
8.1.2 稳定性 235
8.1.3 排序算法的分类 235
8.2 插入类排序 236
8.2.1 直接插入排序 236
8.2.2 折半插入排序 237
8.2.3 希尔排序 238
8.3 交换类排序 240
8.3.1 起泡排序 240
8.3.2 快速排序 241
8.4 选择类排序 243
8.4.1 简单选择排序 243
8.4.2 堆排序 244
8.5 二路归并排序 247
8.6 基数排序 248
8.7 外部排序 252
8.7.1 概念与流程 252
8.7.2 置换-选择排序 253
8.7.3 归并树 254
8.7.4 败者树 255
8.7.5 时间与空间复杂度相关问题 257
8.8 排序知识点小结 258
真题仿造 259
真题仿造答案与解析 259
习题 真题精选 260
习题答案 真题精选答案 265
第9章 查找 275
大纲要求 275
考点与要点分析 275
核心考点 275
基础要点 275
知识点讲解 275
9.1 查找的基本概念、顺序查找法、折半查找法 275
9.1.1 查找的基本概念 275
9.1.2 顺序查找法 276
9.1.3 折半查找法 277
9.1.4 分块查找 279
9.2 二叉排序树与平衡二叉树 280
9.2.1 二叉排序树 280
9.2.2 平衡二叉树 283
9.3 B-树的基本概念及其基本操作、B 树的基本概念 286
9.3.1 B-树(B树)的基本概念 286
9.3.2 B-树的基本操作 288
9.3.3 B 树的基本概念 292
9.4 散列表 293
9.4.1 散列表的概念 293
9.4.2 散列表的建立方法以及冲突解决方法 293
9.4.3 散列表的性能分析 297
真题仿造 298
真题仿造答案与解析 298
习题 真题精选 299
习题答案 真题精选答案 304
第10章 考研中某些算法的分治法解释 318
参考文献 322
显示全部信息