考研数据结构怎么复习!桂秋复习法

数据结构是计算机存储和组织数据的方式。数据结构是指相互之间具有一种或多种特定关系的数据元素的集合。通常,精心选择的数据结构可以带来更高的操作或存储效率。数据结构通常与有效的检索算法和索引技术有关。

一、重难点分析及复习建议

统考大纲的考试目标是掌握数据结构的基本概念、原理和方法,掌握数据的逻辑结构、存储结构和基本运算的实现;能够分析算法的基本时间复杂度和空间复杂度;能运用数据结构的基本原理和方法分析和解决问题,具备用C、C++或JAVA语言设计程序和实现算法的能力。

我们来分析一下知识点:

线性表这一章知识点不多,但是要有很深的理解,并且能够应用相关知识点解决实际问题。在链表上插入或删除节点时的指针操作是选择题的常见考点,一些相对复杂的链表操作如双向链表也会出现在综合应用题中。

栈、队列、数组比链表能考查更多的知识点。最基本的是堆栈和队列FILO和FIFO的特性。比如根据栈FILO的特点,多项选择题中经常出现栈的进出顺序问题。其次是栈和队列的顺序和链式存储结构。这里常见的一个测试点是不同存储结构下栈顶指针、队列头指针和队列尾指针的操作,尤其是判断循环队列是满还是空的两种方法。第三,是特殊矩阵的压缩存储。这个考点复习的重点可以放在二维矩阵和一维数组相互转换时下标的计算方法上,比如平行于对角线的几行上有非零数据的矩阵存入一维数组后,每个数据点对应下标的计算。本章可能出现的大问题是利用堆栈或队列的特性作为基本的数据结构来支持实用问题求解算法的设计,比如利用堆栈解决递归问题,利用队列解决图的遍历问题等等。

树和二叉树:在本章中,我们从顺序数据结构转变为层次数据结构。要掌握树和二叉树的各种性质,树和二叉树的不同存储结构,森林、树和二叉树之间的转换,线索二叉树和二叉树(二叉排序树、平衡二叉树和哈夫曼树)的应用。重点要掌握的是森林、树、二叉树的前、中、后三种遍历方法。这部分一直是数据结构考题的重点和难点,复习时要特别注意。一些常见的选择题考点包括:全二叉树和完全二叉树的节点数的计算,由树和二叉树的示意图给出对应的遍历顺序,根据二叉树的遍历顺序恢复二叉树,计算线索的本质,计算不同方法用于线索后二叉树剩余空指针字段的个数,从而平衡二叉树的定义、性质和建立,四种调整算法和回溯方法。常见的综合应用考点有:二叉树的遍历算法,根据二叉树的一些统计和运算(如节点数统计、左右子树交换等)判断一棵二叉树是否为二叉排序树。),这些都需要递归和非递归算法来解决,特别要注意非递归算法,以及线索二叉树的遍历算法,比如寻找一个节点的前任或继任节点并给出霍夫曼码的算法等。

图:本章需要记住的是图以及基于图的各种定义和存储方式。需要掌握图的深度遍历和宽度遍历算法,这是用图解决应用问题时常用的算法基础。需要掌握基于图的多种算法,能够在给定的图上通过人工计算执行特定的算法来解决问题。常见的应用问题直接给出或抽象出来,会变成以下问题:最小生成树解(PRIM算法和KRUSKAL算法,都很简单,但注意不要混淆这两种方法)、拓扑排序问题(这里会用到数组实现的链表,可以关注一下)、关键路径问题(很难把概念理解透彻,可以做个表找出关键路径)、最短路径问题(。

搜索:这一章,你需要记忆关键词、一级关键词、二级关键词的含义;静态搜索和动态搜索的含义和区别;平均搜索长度ASL的概念考虑了各种搜索算法中的计算方法和结果,特别是一些典型结构的ASL值,B树的概念,基本操作冲突解决方法的选择和冲突处理过程的描述,B+树的概念(增加测试点),特别要注意B树和B+树概念的比较,以及与哈希表相关的概念。要熟悉顺序表、链表、二叉树上的搜索方法,特别要注意顺序搜索和二分搜索法的适用条件(比如链表上的二分搜索法不适用)和算法复杂度。

排序:最新大纲把去年的内部排序范围扩展到排序,这是重点也是难点。排序算法很多,今年大纲还增加了外部排序,共有***10种。不同的算法有一些对应的概念定义需要记忆。选择题常见的问题有:给定一个数列,要求一次运行后给出特定排序方法的排序结果,或者给定初始数列和一轮排序结果,要求选择合适的排序算法,给定时间和空间复杂度的要求以及数列的特点,等等。如果排序的测试点出现在综合应用题中,往往结合数组来考察。