【数据结构】期末考试大纲

一、知识点

第一章 绪论

1、时间复杂度和空间复杂度的计算。要求能够计算出程序的执行次数。

2、各种概念:数据结构、数据项、数据元素

第二章  线性表

1、单链表的各种操作,包括单链表的建立、插入、删除结点的操作语句序列

2、单链表(带头结点、不带头结点、循环单链表)的逆置运算。

3、双链表的插入和删除操作语句序列。

4、单链表的直接插入排序运算。

5、静态单链表的插入和删除操作。

6、二个有序单链表的合并、一个单链表拆分为多个单链表

第三章 栈和队列

1、栈的输入序列和输出序列、递归函数的输出结果

2、循环队列的入队、出队操作以及有效元素个数的计算

第四章  串

1、KMP算法中的next和nextval值的计算

第五章  数组和广义表

1、二维数组任意元素地址的计算

2、稀疏矩阵的转置算法

3、广义表的两个操作函数:取表头和表尾

第六章 树和二叉树

1、二叉树的性质(特别是完全二叉树的性质,例如求完全二叉树的深度等)

2、二叉树的遍历(特别是中序和先序遍历,要求能够使用堆栈完成非递归遍历编程和递归算法编程,在遍历基础上的各种操作,例如求二叉树的叶子数、二叉树结点数等操作,包括有编程算法和编程填空题)

3、线索二叉树(特别是中序线索化二叉树和中序线索化二叉树的中序遍历,包括编程算法和编程填空题,希望大家着重研究)

4、哈夫曼编码(主要是应用题,包括哈夫曼的编码与解码,也包括哈夫曼树的特点)

5、树与森林在转化成二叉树时,左右子树的结点数有何特点)

6、树的层次遍历(使用队列完成、借助树的层次遍历可以判断二叉树是否为完全二叉树)、判断二叉树是否为排序二叉树等,可能有编程题或编程填空题)

补充:二叉树的物理存储结构(链式和顺序存储)*

第七章 图

1、图的两种物理存储方式(邻接矩阵与邻接表存储表示)

2、图的生成树与最小生成树(生成树特点)、图的遍历

3、求最小生成树的两种算法(重点是PRIM算法,特别会写出用PRIM算法求最小生成树的过程)

4、使用迪杰斯特拉算法求单源最短路径,写出求解过程

5、拓扑排序

6、求关键路径,要求写出事件和活动的最早和最晚开始时间,深刻理解关键路径的含义。

第八章 查找

1、顺序查找算法

2、有序表的折半查找(包括算法编程、求平均查找长度等)

3、二叉排序树的构建和应用

4、平衡二叉排序树的构建和应用(四种旋转)

5、B树的插入和删除操作

6、应用线性、二次探测法和链表法完成哈希表的构建、计算哈希表的平均查找长度等

第九章 排序

1、插入排序(简单插入、希尔排序每趟排序的结果)

2、交换排序(包括冒泡排序、快速排序每趟排序结果,快速排序的算法实现,可能有程序填空题,特别是冒泡排序的快速处理技巧应用)

3、选择排序(简单选择排序、堆排序的排序过程及每趟排序结果的应用、堆排序算法填空)

4、归并排序(包括每趟排序的结果)

5、基数排序(包括每趟排序结果)

二、应用题

1.KMP算法中的next和nextval值的计算

2.哈夫曼树的构建、编码和解码求平均码长WPL。

3.使用prim算法求最小生成树。

4.使用迪杰斯特拉算法求单源最短路径。

5.有向带权图中求关键路径。

6.B树结点的插入和删除操作。

7.使用线性、二次探测法和链表法完成哈希表的构建、计算哈希表的平均查找长度。

三、程序阅读题

(1)单链表的各种操作(单链表的建立、删除和修改、逆置等)

(2)堆栈的应用(包括数制转换等)

(3)二叉树的各种递归编程应用(求树的深度 层次遍历、叶子的数量 前序遍历,没孩子的为叶子、结点的数量等)

(4)二叉排序树的创建(包括查找和插入元素)

(5)交换排序的编程实现

(6)二分查找、二叉排序树

(7)希尔排序、快速排序、堆排序、归并排序和基数排序算法

四、编程题

(1)循环单链表、单链表逆置

(2)两个有序单链表的合并、一个单链表按照规则进行拆分、删除有序单链表中重复元素、单链表的插入、选择排序,单链表中求最大值和最小值等。

(3)二叉树的非递归和递归中序遍历

(5)二叉树的中序线索化算法、对中序线索二叉树进行中序遍历

(6)判断二叉树是否为完全二叉树二叉树是否为二叉排序树 中序遍历+判断前后值大小求二叉树的深度 层序遍历+last标记每层最后节点求二叉树某个结点的子孙

(7)将二叉树叶子结点连接为单链表或双链表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值