导航菜单
首页 >  考研数据结构重点  > 数据结构

数据结构

文章目录:

考纲分析:

各个学校考纲:

第一章:绪论

第一节:基本概念 

1.数据项-数据元素-数据对象

2.数据结构

2.1 逻辑机构【线性结构-集合-树形结构-图形结构】

2.2 物理结构

3.数据的存储结构【顺序存储-链式存储-索引存储-散列存储】​

第二节:抽象数据类型

第三节:算法

1.程序和算法

2.算法的概念和特点和设计的基本要求

3.时间复杂度

3.1 概念 

 3.2 例题

3.3 时间复杂度的计算方法

3.4 常见的渐进时间复杂度有

4.空间复杂度

4.1 概念

4.2 空间复杂度的计算方法

​4.3 常见的时间复杂度和空间复杂度

第二章:线性表 

数据的逻辑结构分类【线性结构-非线性结构】

第一节:线性表的概述 

1.概念

2.定义

3.线性表的基本操作

第二节:线性表的顺序表示

1.线性表的定义

2.顺序表的特点

3.顺序表的基本操作

3.1 顺序表的插入

3.2 顺序表的删除

3.3 顺序表的查找(按值顺序查找)

第三节:线性表的链式表示

1.单链表的定义

2.单链表的结构描述【数据域-指针域】

3.单链表的基本操作

3.1 建立单链表【头插法-尾插法】

3.1.1 采用头插法建立单链表

3.1.2 采用尾插法建立单链表

3.2 单列表的查找【按序号查找-按值查找】

3.2.1 按序号查找结点值

3.2.2 按值查找表结点

4.插入结点操作

5.删除结点操作

6.循环链表

7.双向链表

7.1 定义 

7.2 双向链表的插入操作【在p之后插入-在p之前插入】

7.2.1 在p之后插入

7.2.2 在p之前插入

7.3 双向列表的删除操作【删除P的后继S-删除结点P】

7.3.1 删除P的后继S

7.3.2 删除结点P

练习题一:

 练习题二:

第三章:栈和队列

第一节:栈(stack)

1.栈的概念

2.栈的顺序存储结构

2.1 顺序栈的实现

2.2 出栈-进栈-栈满-栈空 

3.栈的链式存储结构

3.1 概念

3.2链式栈的入栈-出栈

3.2.1 入栈

3.2.2 出栈

第二节:队列(Queue)

1.队列的基本概念

2.队列的顺序存储结构

2.1 概念

2.2 循环队列

2.3 循环队列的基本操作【入队-出队】

3.队列的链式存储

3.1 概念

3.2 出队-入队​

第四章:串

第一节:串的概念

第二节:串的存储结构

1.定长顺序串【串连接-求字串-定位函数】

1.2 串连接

1.3 求字串

1.4 定位函数

2.堆分配存储表示【堆串赋值函数-求串长-串比较】

2.1 堆串赋值函数

2.2 求串长

2.3 串比较

3.块链存储表示

第五章:数组和广义表

第一节:数组

1.数组的定义

2.二维数组的地址计算

3.矩阵的压缩存储【对称矩阵-三角矩阵-带状矩阵】

3.1 对称矩阵

3.2 三角矩阵

3.3 带状矩阵

4.稀疏矩阵

4.1 定义概念

4.2 稀疏矩阵的存储概念【三元顺序表-十字链表】

4.2.1 三元顺序表

4.2.2 十字链表

第二节:广义表

1.概念

2.广义表的两个基本操作【取广义表表头-取广义表表尾】

3.广义表的链式存储

练习题三:

第六章:树与二叉树

第一节:树的基本概念

1.树的定义

2.树的基本术语

3.树的性质

第二节:二叉树

1.定义概念

2.二叉树的存储结构【顺序存储-链式存储】

2.1 顺序存储

2.2 链式存储

3.二叉树的遍历【先序遍历递归算法-中序遍历递归算法-后序遍历递归算法】

3.1 概念

3.2 先序遍历递归算法

3.3 中序遍历递归算法

3.4 后序遍历递归算法

4.遍历的非递归算法

中序遍历非递归算法

第三节:线索二叉树

1.概念

2.线索化二叉树 

3.画出线索二叉树

第四节:树及其转换

1.树的存储结构【双亲表示法-孩子表示法-孩子兄弟表示法】

1.1 双亲表示法

1.2 孩子表示法

1.3 孩子兄弟表示法

2.树和二叉树的转换

3.森林与二叉树的转换

第五节:树与二叉树的运用

1.二叉排序树

1.1 定义

1.2 二叉排序树的建立

1.3 二叉排序树的查找

2.平衡二叉树

2.1 平衡因子和平衡二叉树(AVL树)

2.2 构造平衡二叉树

2.2.1 定义

2.2.2 构造平衡二叉树的方法

第六节:哈夫曼树

1.定义

2.哈夫曼树的构造

3.哈夫曼编码

第七章:图

第一节:图的基本概念

1.图的定义

2.无向图

3.有向图

4.完全图

5.顶点的度、入度、出度

6.子图

7.连通图、连通分量

8.强连通图、强连通分量

9.生成树

10.带权图和网

11.稠密网、稠密图

第二节:图的存储【邻阶矩阵-邻接表】

1.邻阶矩阵

1.1 定义

1.2 特点

2.邻接表

2.1 定义

2.2 特点

3.图的遍历【深度优先遍历(DFS)-广度优先遍历(BFS)】

3.1 深度优先遍历(DFS)

3.1.1 定义

3.1.2 算法

3.2 广度优先遍历(BFS)

3.2.1 定义

3.2.2 算法

第三节:最小生成树

1.定义

2.性质

3.最小生成树构造算法【Prim算法-Kruskal算法】

3.1Prim算法

3.2 Kruskal算法

第四节:拓扑排序

第五节:最短路径

1.概念

2.关键路径

​ 3.求最短路径的算法

3.1 迪杰斯特算法(Dijkstra)

3.2 弗洛伊德算法(Floyd)

习题六:

第八章:查找

1.基本概念

2.各种查找算法

2.1 顺序查找

2.2 折半查找

2.3 分块查找(索引顺序查找)

2.4 哈希表的查找(Hash Table)

3.冲突[ 开放定址法-链地址法-装填因子]

3.1  开放定址法

3.1.1 线性探查法

3.1.2 二次探测法

3.1.3 双重散列法

3. 2 链地址法

3.3 装填因子

第九章:排序

第一节:排序的基础知识

第二节:各种排序算法

1.插入排序

1.1 直接插入排序

1.2 希尔排序

2.交换排序

2.1 冒泡排序

2.2 快速排序

3.选择排序

3.1 简单选择排序

3.2 堆排序【小顶堆 -大顶堆】

3.2.1 小顶堆 

3.2.2 大顶堆 

4.归并排序

5.基数排序(桶排序/数字排序)

第三节:各种排序方法的比较

练习题七:

练习题八:

练习题九:

考纲分析:

各个学校考纲:

 西华大学不考:串,数组,广义表【第四章-第五章】

第一章:绪论第一节:基本概念  1.数据项-数据元素-数据对象

2.数据结构

2.1 逻辑机构【线性结构-集合-树形结构-图形结构】

 

2.2 物理结构 3.数据的存储结构【顺序存储-链式存储-索引存储-散列存储】

 

 

第二节:抽象数据类型

第三节:算法 1.程序和算法

2.算法的概念和特点和设计的基本要求

3.时间复杂度 3.1 概念 

 3.2 例题

3.3 时间复杂度的计算方法

 

3.4 常见的渐进时间复杂度有

4.空间复杂度 4.1 概念

4.2 空间复杂度的计算方法 4.3 常见的时间复杂度和空间复杂度

第二章:线性表 数据的逻辑结构分类【线性结构-非线性结构】

第一节:线性表的概述  1.概念

2.定义

3.线性表的基本操作

第二节:线性表的顺序表示 1.线性表的定义

2.顺序表的特点

3.顺序表的基本操作 3.1 顺序表的插入

3.2 顺序表的删除

3.3 顺序表的查找(按值顺序查找)

第三节:线性表的链式表示 1.单链表的定义

2.单链表的结构描述【数据域-指针域】

3.单链表的基本操作 3.1 建立单链表【头插法-尾插法】 3.1.1 采用头插法建立单链表

3.1.2 采用尾插法建立单链表

3.2 单列表的查找【按序号查找-按值查找】 3.2.1 按序号查找结点值

3.2.2 按值查找表结点

4.插入结点操作

5.删除结点操作

6.循环链表

7.双向链表 7.1 定义 

7.2 双向链表的插入操作【在p之后插入-在p之前插入】 7.2.1 在p之后插入

7.2.2 在p之前插入

7.3 双向列表的删除操作【删除P的后继S-删除结点P】 7.3.1 删除P的后继S

7.3.2 删除结点P

练习题一:

 练习题二:

 

第三章:栈和队列第一节:栈(stack) 1.栈的概念

2.栈的顺序存储结构 2.1 顺序栈的实现

2.2 出栈-进栈-栈满-栈空 

3.栈的链式存储结构 3.1 概念

3.2链式栈的入栈-出栈 3.2.1 入栈

3.2.2 出栈

第二节:队列(Queue) 1.队列的基本概念

2.队列的顺序存储结构 2.1 概念

2.2 循环队列

2.3 循环队列的基本操作【入队-出队】

3.队列的链式存储 3.1 概念

3.2 出队-入队 第四章:串第一节:串的概念

第二节:串的存储结构 1.定长顺序串【串连接-求字串-定位函数】

1.2 串连接

1.3 求字串

1.4 定位函数

 

2.堆分配存储表示【堆串赋值函数-求串长-串比较】

 

2.1 堆串赋值函数

2.2 求串长

2.3 串比较

3.块链存储表示

第五章:数组和广义表第一节:数组 1.数组的定义

2.二维数组的地址计算

3.矩阵的压缩存储【对称矩阵-三角矩阵-带状矩阵】

3.1 对称矩阵

3.2 三角矩阵

3.3 带状矩阵

4.稀疏矩阵 4.1 定义概念

4.2 稀疏矩阵的存储概念【三元顺序表-十字链表】 4.2.1 三元顺序表

4.2.2 十字链表

第二节:广义表 1.概念

2.广义表的两个基本操作【取广义表表头-取广义表表尾】

3.广义表的链式存储

练习题三:

第六章:树与二叉树第一节:树的基本概念 1.树的定义

2.树的基本术语

3.树的性质

第二节:二叉树 1.定义概念

 

2.二叉树的存储结构【顺序存储-链式存储】 2.1 顺序存储

2.2 链式存储

3.二叉树的遍历【先序遍历递归算法-中序遍历递归算法-后序遍历递归算法】

3.1 概念

3.2 先序遍历递归算法

3.3 中序遍历递归算法

3.4 后序遍历递归算法

4.遍历的非递归算法 中序遍历非递归算法

第三节:线索二叉树 1.概念

2.线索化二叉树 

3.画出线索二叉树

 

第四节:树及其转换 1.树的存储结构【双亲表示法-孩子表示法-孩子兄弟表示法】

1.1 双亲表示法

1.2 孩子表示法

1.3 孩子兄弟表示法

2.树和二叉树的转换

3.森林与二叉树的转换

第五节:树与二叉树的运用 1.二叉排序树 1.1 定义

 

1.2 二叉排序树的建立

1.3 二叉排序树的查找

2.平衡二叉树 2.1 平衡因子和平衡二叉树(AVL树)

2.2 构造平衡二叉树 2.2.1 定义

2.2.2 构造平衡二叉树的方法

第六节:哈夫曼树 1.定义

 

2.哈夫曼树的构造

3.哈夫曼编码

第七章:图第一节:图的基本概念 1.图的定义

2.无向图

3.有向图

4.完全图 5.顶点的度、入度、出度

6.子图

7.连通图、连通分量

 

8.强连通图、强连通分量

9.生成树

10.带权图和网

11.稠密网、稠密图

第二节:图的存储【邻阶矩阵-邻接表】 1.邻阶矩阵 1.1 定义

1.2 特点

2.邻接表 2.1 定义

 

2.2 特点

3.图的遍历【深度优先遍历(DFS)-广度优先遍历(BFS)】

3.1 深度优先遍历(DFS) 3.1.1 定义

3.1.2 算法

3.2 广度优先遍历(BFS) 3.2.1 定义

3.2.2 算法

第三节:最小生成树 1.定义

2.性质 3.最小生成树构造算法【Prim算法-Kruskal算法】

3.1Prim算法

3.2 Kruskal算法

第四节:拓扑排序

第五节:最短路径 1.概念

2.关键路径

 

 3.求最短路径的算法 3.1 迪杰斯特算法(Dijkstra)

3.2 弗洛伊德算法(Floyd)

习题六:

第八章:查找1.基本概念

2.各种查找算法 2.1 顺序查找

2.2 折半查找

2.3 分块查找(索引顺序查找)

 

2.4 哈希表的查找(Hash Table)

 

3.冲突[ 开放定址法-链地址法-装填因子]

3.1  开放定址法 3.1.1 线性探查法

3.1.2 二次探测法

3.1.3 双重散列法

3. 2 链地址法

 

3.3 装填因子

第九章:排序第一节:排序的基础知识

第二节:各种排序算法 1.插入排序

1.1 直接插入排序

1.2 希尔排序

2.交换排序

2.1 冒泡排序

2.2 快速排序

3.选择排序 3.1 简单选择排序

3.2 堆排序【小顶堆 -大顶堆】

3.2.1 小顶堆 

3.2.2 大顶堆 

4.归并排序

5.基数排序(桶排序/数字排序)

第三节:各种排序方法的比较

两两组合

 

简单查一下希尔这个人

冒泡比较快

简单选择就是一堆

最后归为垃圾

练习题七:

练习题八:

 

练习题九:

相关推荐: