数据结构考研大纲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构考研大纲

【硕士研究生考试】

Ⅰ考查目标

计算机学科专业基础综合考试涵盖数据机构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。

Ⅱ考试形式和试卷结构

一、试卷满分及考试时间本试卷满分为150分,考试时间为180分钟

二、答题方式答题方式为闭卷、笔试

三、试卷内容结构

数据结构45分计算机组成原理45分

操作系统35分计算机网络25分

四、试卷题型结构单项选择题80分(40小题,每小题2分)综合应用题70分

数据结构

【考查目标】

1.理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。

2.掌握基本的数据处理原理和方法的基础上,能够对算法进行设计与分析。

3.能够选择合适的数据结构和方法进行问题求解。

一、线性表

(一)线性表的定义和基本操作

(二)线性表的实现

1.顺序存储结构

2.链式存储结构

3.线性表的应用

二、栈、队列和数组

(一)栈和队列的基本概念

(二)栈和队列的顺序存储结构

(三)栈和队列的链式存储结构

(四)栈和队列的应用

(五)特殊矩阵的压缩存储

三、树与二叉树

(一)树的概念

(二)二叉树

1.二叉树的定义及其主要特征

2.二叉树的顺序存储结构和链式存储结构

3.二叉树的遍历

4.线索二叉树的基本概念和构造

5.二叉排序树

6.平衡二叉树

(三)树、森林

1.书的存储结构

2.森林与二叉树的转换

3.树和森林的遍历

(四)树的应用

1.等价类问题

2.哈夫曼(Huffman)树和哈夫曼编码

四、图

(一)图的概念

(二)图的存储及基本操作

1. 邻接矩阵法

2. 邻接表法

(三)图的遍历

1. 深度优先搜索

2. 广度优先搜索

(四)图的基本应用及其复杂度分析

1. 最小(代价)生成树

2. 最短路径

3. 拓扑排序

4. 关键路径

五、查找

(一)查找的基本概念

(二)顺序查找法

(三)折半查找法

(四)B-树

(五)散列(Hash)表及其查找(六)查找算法的分析及应用

六、内部排序

(一)排序的基本概念

(二)插入排序

1. 直接插入排序

2. 折半插入排序

(三)气泡排序(bubble sort)(四)简单选择排序

(五)希尔排序(shell sort)(六)快速排序

(七)堆排序

(八)二路归并排序(merge sort)(九)基数排序

(十)各种内部排序算法的比较(十一)内部排序算法的应用

线性表这一章里面的知识点不多,但要做到深刻理解,能够应用相关知识点解决实际问题。链表上插入、删除节点时的指针操作是选择题的一个常考点,诸如双向链表等一些相对复杂的链表上的操作也是可以出现在综合应用题当中的。

栈、队列和数组可以考查的知识点相比链表来说要多一些。最基本的,是栈与队列FILO和FIFO的特点。比如针对栈FILO的特点,进栈出栈序列的问题常出现在选择题中。其次,是栈和队列的顺序和链式存储结构,这里一个常考点是不同存储结构下栈顶指针、队首指针以及队尾指针的操作,特别是循环队列判满和判空的2种判断方法。再次,是特殊矩阵的压缩存储,这个考点复习的重点可以放在二维矩阵与一维数组相互转换时,下标的计算方法,比如与对角线平行的若干行上数据非零的矩阵存放在一维数组后,各个数据点相应的下标的计算。这一章可能的大题点,在于利用堆栈或队列的特性,将它们作为基础的数据结构,支持实际问题求解算法的设计,例如用栈解决递归问题,用队列解决图的遍历问题等等。

树和二叉树。这一章中我们从顺序式的数据结构,转向层次式的数据结构,要掌握树、二叉树的各种性质、树和二叉树的不同存储结构、森林、树和二叉树之间的转换、线索化二叉树、二叉树的应用(二叉排序树、平衡二叉树和Huffman树),重点要熟练掌握的,是森林、树以及二叉树的前中后三种遍历方式,要能进行相应的算法设计。这一部分是数据结构考题历来的重点和难点,复习时要特别关注。一些常见的选择题考点包括:满二叉树、完全二叉树节点数的计算,由树、二叉树的示意图给出相应的遍历序列,依据二叉树的遍历序列还原二叉树,线索化的实质,计算采用不同的方法线索化后二叉树剩余空指针域的个数,平衡二叉树的定义、性质、建立和四种调整算法以及回溯法相关的问题。常见的综合应用题考点包括:二叉树的遍历算法,遍历基础上针对二叉树的一些统计和操作(比如结点数统计、左右子树对换等等),判断某棵二叉树是否二叉排序树,以上这些都要求能用递归的和非递归的算法解决,特别要重视非递归的算法,线索化后二叉树的遍历算法,如查找某结点线索化后的前驱或后继结点的算法以及给出Huffman编码等等。

图。在这一章中需要识记的是图以及基于图的各种定义,存储方式。要熟练掌握图的深度遍历和广度遍历算法,这是用图来解决应用问题时常用的算法基础。需要掌握基于图的多个算法,能够以手工计算的方式在一个给定的图上执行特定的算法求解问题。常见的应用问题直接给出或经过抽象,会成为下列问题:最小生成树求解(PRIM算法和KRUSKAL算法,两种方法思想都很简单,但要注意不要混淆这两种方法),拓扑排序问题(这里会用到数组实现的链表,可以注意一下),关键路径问题(数据结构的较大难点,要把概念理解透,能做出表格找出关键路径),最短路径问题(有重要的应用背景,也是贪心法不多的能给出最优解的典型问题之一)。

查找。这一章,需要识记关键字、主关键字、次关键字的含义;静态查找与动态查找的含义及区别;平均查找长度ASL的概念及在各种查找算法中的计算方法和计算结果,特别是一些典型结构的ASL值,B-树的概念和基本操作冲突解决方法的选择和冲突处理过程的描述,B+树的概念(新增考点),特别要注意B-树和B+树概念的对比,以及Hash表相关的概念。要熟练掌握顺序表、链表、二叉树上的查找方法,特别要注意顺序查找、二分查找的适用条件(比如链表上用二分查找就不合适)和算法复杂度。

内部排序。内部排序既是重点,又是难点。排序算法众多,光大纲上列出的就有9种,各种不同算法还有相应的一些概念定义需要记住。选择题常见的问题包括:不同排序算法的复杂度,给定数列要求给出某种特定排序方法运行一轮后的排序结果,或者给出初始数列和一轮排序结果要求选择采用的排序算法,给定时间、空间复杂度要求以及数列特征要求选择合适的排序算法等等。如果排序这一考点出现在综合应用题中则常与数组结合来考查。

另外需要提醒考生注意的是,大纲中的考查目标中提到的算法的复杂度分析,而具体考点中没有明确列出,因此需要大家学习参考书中关于算法复杂度分析的相关内容,以及注意相关章节中提到的一些典型算法的算法复杂度。

相关文档
最新文档