一、考试基本要求及适用范围概述
要求考生掌握数据结构的基本概念和术语;掌握包括线性表、栈和队列、串、数组和特殊矩阵、树和二叉树以及图在内的各种数据结构的基本概念、逻辑结构与存储结构,以及在这些结构的基础上的相关算法实现;能够针对具体问题选择合适的数据结构抽象建模,设计合适的存储结构,并采用C/C++、Java、Python或类C语言描述等程序设计语言基本运算的算法实现;掌握各种查找、排序算法;能够对基本算法进行复杂度分析。适用于人工智能专业。
二、考试形式
闭卷笔试
三、考试内容
1.数据结构概述
1.1掌握数据结构的基本概念和术语,包括数据、数据元素、数据项、数据对象、数据结构、数据的逻辑结构、数据的存储结构、数据类型、抽象数据类型。
1.2算法和算法分析,掌握算法特性、算法的时间复杂度分析、算法的空间复杂度分析
2.线性表
2.1理解线性表的基本概念
2.2掌握线性表的顺序存储结构及其算法实现
2.3掌握线性表的链式存储结构及其算法实现,包括单链表、双向链表、循环链表
3.栈和队列
3.1栈,掌握栈及其特性,理解栈的抽象数据类型,掌握顺序栈及其基本算法实现、链栈及其基本算法实现
3.2栈的应用,理解函数调用、递归的实现过程、能够利用栈解决表达式求值、括号匹配等问题
3.3队列,掌握队列及其特性,理解队列的抽象数据类型,掌握循环队列及其基本运算实现、链队列及其基本运算实现
3.4队列的应用,能够利用队列解决银行排队、二叉树层序遍历、图的广度优先遍历等问题
4.串、数组和广义表
4.1串,掌握串的基本概念及操作、串的定长顺序存储及基本运算
4.2数组,掌握数组的定义及操作、数组的顺序存储、特殊矩阵的压缩存储、随机稀疏矩阵的压缩存储
4.3广义表的基本概念
5.树和二叉树
5.1树的定义及基本术语
5.2二叉树,掌握二叉树的定义、二叉树的性质以及二叉树的存储结构
5.3遍历二叉树,包括二叉树的递归遍历、二叉树的非递归遍历
5.4二叉树遍历算法的应用
5.5线索二叉树,掌握线索二叉树的定义和存储结构、二叉树的线索化、线索二叉树中结点的前驱和后继查找方法
5.6树和森林,掌握树的存储、森林的存储结构、树和森林的遍历、树、森林和二叉树的相互转换
5.7哈夫曼树及其应用
6.图
6.1掌握图的基本概念,包括图、无向图、有向图、完全图、图的连通性等
6.2图的存储结构,掌握图的邻接矩阵和邻接表表示
6.3图的遍历,掌握图的深度优先和图的广度优先搜索
6.4图的基本算法,掌握最小生成树算法(Kruskal算法和Prim算法)、求某个顶点(单源点)到其余各顶点的最短路径(Dijkstra算法)、拓扑排序、关键路径
7.排序
7.1理解排序的基本概念
7.2排序算法,掌握插入排序(包括直接插入排序、希尔排序)、交换排序(包冒泡排序、快速排序)、选择排序(包括简单选择排序、堆排序)、归并排序、基数排序等基本排序算法及其复杂度分析
8.查找
8.1理解查找的基本概念、查找成功和查找失败的平均查找长度
8.2静态查找表,掌握顺序表的查找、有序表的折半查找
8.3动态查找表,掌握二叉排序树(包括二次排序树的定义和特点、二叉排序树的创建、插入、删除结点),掌握平衡二叉树的定义
8.4哈希表,掌握哈希函数的确定方法、处理冲突的方法
四、主要参考教材
1.周桂红等编,《数据结构》,天津:南开大学出版社,2016年
注:本文文字转载自河北农业大学研究生院,如有侵权,请联系删除。