data-structure-start
考试要求(823)
一、考试性质
本课程是计算机类专业、网络空间安全专业的专业基础必修课,
其涵盖知识是相关专业研究生开展创新研究必须具备的基础。
二、考查目标
本课程主要考核常见数据结构(线性表、树、图)表示方法、操
作及应用;常用查找技术与排序算法等。
- 数据结构和算法设计基础知识,计算机内部数据对象的表示和特性,线性表、树、图等常见数据逻辑结构、存储结构表示及其差异,针对具体问题的模型分析与求解。
- 常见数据结构上的基本操作和算法;排序、查找等算法原理及实现;算法的时间复杂度和空间复杂度分析方法。
- 综合运用课程知识开展数据结构、算法的设计与分析。
三、适用范围
本考试大纲适用于我校计算机与信息安全学院的081200 计算机科学与技术、083900 网络空间安全、085400 电子信息(01 计算机技术、02 软件工程)专业的硕士研究生招生考试。
四、考试形式和试卷结构
试卷内容结构
- 数据结构、算法的基础知识:约20 分;
- 数据结构、算法的应用和分析:约80 分;
- 数据结构、算法的代码分析、设计和实现:约50 分;
- 命题可根据考核需要,对试卷内容结构、题型结构及分值比例做适当调整。
五、考查内容
1. 数据结构与算法绪论
- 数据结构的基本概念,包括数据的逻辑特点、存储表示;
- 数据抽象方法,数据结构的抽象数据类型ADT 表示;
- 算法描述方法、算法精化过程和算法时间、空间复杂度分析方法。
2. 线性表
- 线性表的逻辑结构和抽象数据类型定义;
- 线性表的顺序存储和链式存储,线性表创建、插入、删除和查找等基本操作的实现以及算法时间复杂度分析;
- 能分析不同存储结构的优缺点和适用场合,能分析不同的存储方式对算法性能的影响;
- 单循环链表、双链表和循环双链表的实现以及应用;
- 线性表的应用实例分析:一元多项式运算;Josephus 问题;
- 字符串的逻辑结构、存储结构和模式匹配。
3. 栈和队列
- 栈和队列的逻辑特点、抽象数据类型;
- 栈和队列的顺序表示和链接表示,以及基于不同存储结构的基本操作的实现
- 递归函数的执行过程以及使用栈进行递归函数与非递归函数的转换;
- 栈的应用:数制转换;迷宫问题;
- 队列的应用:农夫过河问题;银行业务模拟;密码加密解密问题;
- 深度优先和广度优先搜索策略的原理、不同之处以及应用场合。
4. 树与二叉树
- 树与二叉树抽象数据类型、不同存储实现与约束分析;
- 树与二叉树周游算法及复杂度分析;
- 最优前缀编码问题及算法分析;
- 线索二叉树;
- 二叉排序树表示、操作实现以及时间、空间复杂度分析;
- 平衡二叉排序树表示、操作实现以及时间、空间复杂度分析;
5. 图
- 图的抽象数据类型、不同存储结构与适用性分析;
- 图的深度优先周游和广度优先周游两类策略和实现方法,能基于图的具体存储结构分析周游的处理过程,并分析两类周游算法的复杂度;
- 面向应用的核心算法实现与分析,包括Prim 和Kruskal 最小生成树算法、Dijkstra 和Floyd 最短路径算法;
- 面向特定应用的图形态,包括AOV 网和AOE 网。
6. 集合与字典
- 集合与字典的顺序表示、操作实现以及时间、空间复杂度分析;
- 字典的散列表示、操作实现以及时间、空间复杂度分析。
7. 排序
- 插入类排序:直接插入、二分插入和希尔插入排序;
- 选择类排序:直接选择和堆排序;
- 交换类排序:冒泡排序和快速排序;
- 分配类排序:基数排序;
- 归并类排序:两路归并排序;
- 各种排序算法时间复杂度、空间复杂度、算法稳定性等方面的综合比较,根据应用场合选择合适的排序算法。
六、参考书目(本校本科生教学用书)
张乃孝,陈光,孙猛. 算法与数据结构(C 语言描述)(第3版),高等教育出版社,2012 年.
评论