《数据结构与算法分析》考试大纲
课程编码: 学 分:6
课程名称:数据结构与算法 学 时:96
适用专业:软件工程
采用教材:数据结构与算法,彭军,向毅主编,人民邮电出版社;
其他参考书目:数据结构与算法,瞿有甜主编,清华大学出版社;
一、考试的基本要求
理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。 掌握基本数据处理原理和方法的基础上,能够对算法进行基本的时间复杂度与空间复杂度设计与分析。 能够选择合适的数据结构和方法进行问题求解,具备采用 C++语言设计与实现算法的能力。
二、考试方法、时间、题型大致比例
1.考核方式:考试
2.考试时间:100分钟
3.题型大致比例
1、选择题 约占20%
2、填空题 约占10%
3、名词解释与简答题 约占20%
4、简单应用题 约占40%
5、算法设计题 约占10%
三、考试内容及考试要求
第一章、数据结构和算法的基本概念
(1)了解数据结构的基本概念,包括逻辑结构、物理结构的基本概念、两者之间的区别与联系。
(2)了解算法的基本概念和性质。
(3)了解算法复杂度的基本概念,掌握对非递归代码的复杂度计算基本方法。
第二章、线性表
(1)了解线性表的逻辑结构定义。
(2)掌握线性表的顺序结构实现,以及顺序结构下基本操作的实现,能写出操作代码。
(3)掌握线性表的链式结构实现,以及链式结构下基本操作的实现,能写出操作代码。
第三章、栈与队列
(1)掌握栈的基本概念、栈的性质。
(2)了解栈与递归的关系,能够编写递归算法。
(3)掌握队列的基本概念和性质。
(4)掌握栈和队列的应用方法,能够运用栈和队列解决简单应用问题。
第四章、树和二叉树
(1)了解树的定义和性质。
(2)了解二叉树的概念。
(3)掌握二叉树的基本性质,并能够进行描述和证明。(包括深度与最大结点数的关系性质、每层最大结点数性质、结点数与最小深度的关系性质、n2=n0-1性质、完全二叉树序号与结点关系性质等)
(4)掌握二叉树的前序遍历、中序遍历、后序遍历和层次遍历规则,能够手工计算二叉树的遍历序。
(5)掌握二叉树的遍历性质,能够根据前序+中序或中序+后序还原出二叉树。
(6)掌握二叉树的前序、中序和后序递归遍历算法,并结合相关性质解决实际应用问题。
了解线索化二叉树的概念。
第五章、图
(1)了解图的定义,掌握顶点、边之间的关系。
(2)掌握图的邻接矩阵、邻接表的实现方法。
(3)掌握图的深度优先和广度优先遍历算法,能够手工计算图的深度优先遍历序和广度优先遍历序。
第六章、查找
(1)掌握静态表的概念和折半查找算法,能够进行手工计算。
(2)掌握散列表的基本概念,散列函数的基本设计技巧,。
(3)掌握二叉排序树的概念,以及二叉排序树上的查找、插入、删除算法,能够进行手工计算。
第七章、内排序
(1)掌握简单选择排序、直接插入排序、交换排序的算法思想和步骤,能够写出排序过程。
(2)了解各种排序方法的特点,能够针对特定问题背景选择适当的排序方法。