《数据结构》考试大纲
一、考试的总体要求
本门课程主要考察学生数据抽象能力,分析研究计算机加工的数据结构的特性,为应用涉及的数据选择适当的逻辑结构、存储结构及实现应用的相应算法,分析算法的时间和空间复杂度的技术等内容的掌握程度。要求能够熟练运用C语言来解释数据结构的相关问题。
二、考试的内容及比例
1、绪论部分(2 - 5%):
(1)掌握数据结构的基本概念,数据的逻辑结构、存储结构,特别是数据的逻辑结构和存储结构之间的关系;计算语句频度和估算算法时间复杂度的方法
(2)熟悉类C语言的书写规范,特别要注意值调用和引用调用的区别,输入、输出的方式以及错误处理方式。
(3)理解算法五个要素的确切含义。
(4)了解抽象数据类型的定义、表示和实现方法。
2、线性结构(10 - 15%):
(1)掌握线性表的顺序存储结构;掌握栈的基本概念;掌握队列的基本概念;掌握队列的顺序与链表存储结构、队列的基本运算算法;掌握栈和队列的应用。
(2)熟练运用线性表的链表存储结构、单链表的基本运算算法及其应用;熟练运用栈的顺序与链表存储结构、栈的基本运算算法。
(3)了解循环链表和双向链表;了解串的基本概念及其存储结构;了解稀疏矩阵的概念。
3、树与二叉树(20 - 30%):
(1)掌握二叉树的基本概念与定义;掌握二叉树、树和森林的转换方法。
(2)熟练运用二叉树的前序、中序和后序遍历算法;熟练运用二叉排序树和哈夫曼树。
(3)了解树的基本概念与定义;了解线索二叉树。
4、图(10 - 15%):
(1)掌握图的基本概念和术语;掌握图的存储结构;掌握图的拓扑排序算法。
(2)了解图的遍历方法。
5、查找(10 - 15%):
(1)掌握索引表的查找算法及其算法复杂度分析。
(2)熟练运用顺序表的查找算法及其算法复杂度分析;熟练运用有序表(折半查找)的查找算法及其算法复杂度分析;熟练运用二叉排序树查找算法及其算法复杂度分析;熟练运用HASH表及其查找算法。
6、内排序(10 - 15%):
(1)熟练运用直接插入排序算法及其算法复杂度分析;熟练运用折半插入排序算法及其算法复杂度分析;熟练运用希尔排序算法及其算法复杂度分析;熟练运用冒泡排序算法及其算法复杂度分析;熟练运用简单选择排序算法及其算法复杂度分析。
(2)了解快速排序算法及其算法复杂度分析;了解堆排序算法及其算法复杂度分析;了解归并排序算法及其算法复杂度分析;了解基数排序算法及其算法复杂度分析。
7、文件(2 - 5%):
(1)掌握数据文件的基本概念和基本术语。
(2)理解各类文件的特点、构造方法及其基本操作。