802数据结构考试内容和要求
(一)、概述
[1]熟悉数据结构相关术语的含义,掌握基本概念。
[2]掌握数据结构中逻辑结构、存储结构以及两者之间关系。
[3]了解抽象数据类型的定义和表示方法。
[4]掌握计算语句频度和估算算法时间复杂度的方法。
(二)、线性结构——线性表、栈、队列和串
[1]理解线性表的逻辑结构定义。
[2]熟悉抽象数据类型定义方式。
[3]熟练掌握线性结构的顺序和链式存储结构。
[4]掌握线性表、栈和队列的应用,理解各种线性结构之间的关系。
[5]熟悉串的逻辑结构和典型存储方式,理解串的主要运算。
[6]熟练掌握在顺序和链式存储结构上实现相关基本操作。
(三)、数组和广义表
[1]掌握数组的逻辑特征与存储方式。
[2]掌握矩阵的压缩存储方式及其特点。
[3]理解广义表的逻辑特征和存储方式。
[4]掌握广义表的基本操作。
(四)、树和二叉树
[1]熟练掌握二叉树的基本性质。
[2]熟练掌握二叉树的各种存储结构的实现,各存储结构的特点及适用范围。
[3]熟练掌握二叉树各种遍历策略的递归算法。
[4]熟练掌握基于遍历策略的二叉树操作及应用。
[5]树(森林)与二叉树的关系(存储)
[6]了解最优树的特性,掌握建立最优树和哈夫曼编码的方法。
(五)、图
[1]掌握图的定义及其它基本概念。
[2]掌握图的存储结构——邻接矩阵、邻接表。
[3]掌握图的遍历方法——深度优先搜索、广度优先搜索。 [4]掌握最小生成树生成方法。
[5]掌握图的最短路径算法。
[6]了解拓扑排序概念,了解关键路径算法。
(六)、查找(检索)
[1]掌握静态查找表——顺序表、有序表、索引表的查找算法;理解算法复杂性的分析过程;熟悉算法特
点。
[2]掌握动态查找表——二叉排序树和平衡二叉树的概念、基本操作及其实现。
[3]理解B?树的概念和特点。
[4]熟练掌握哈希查找思想、哈希冲突解决方法、哈希查找性能。
(七)、排序
[1]掌握直接插入排序、希尔排序、冒泡排序、简单选择排序的思想及实现方法;
[2]掌握快速排序、堆排序、归并排序的思想和及实现方法。
[3]掌握算法复杂度及其分析方法;熟悉算法特点及其适用场景。
(八)、文件
[1]了解与文件有关的基本概念;
[2]理解文件结构及其组织方式——顺序、索引、散列文件(HASH)
参考书目:《数据结构(C语言版)》,严蔚敏、吴伟民,清华大学出版社。