首页 >金融

考研计算机数据结构之二叉树

2019-04-10 21:13:40 | 来源: 金融

考研计算机数据结构之二叉树

二叉树是数据结构中的重点内容,在这两年的考试中也将二叉树作为重点内容来考查。二叉树这部分内容要求大家掌握二叉树的定义、性质、存储结构、遍历、线索化、森林和二叉树的转换等内容。算法的重点是二叉树的遍历及其运用,这也是二叉树这部份的重点和难点。遍历是二叉树各种操作的基础,可以在遍历进程中对结点进行各种操作。例如:求二叉树结点总数,建立二叉树,建立二叉树的存储结构等。二叉树的很多算法是在遍历算法基础上改造完成的,这就要求大家在温习时,熟练掌握二叉树遍历的递归和非递归算法。

下面,文都考研组介绍一下二叉树的几种遍历方法:

由二叉树的定义可知,1颗二叉树由根节点及左、右子树三个基本部份组成,因此,只要顺次遍历这3部分,就可以遍历全部二叉树。

1.先序遍历

先序遍历的递归进程为:若二叉树为空,遍历结束。否则,

(1)访问根节点;

(2)先序遍历根节点的左子树;

(3)先序遍历根节点的右子树。

2.中序遍历

中序遍历的递归进程为:若二叉树为空,遍历结束。否则,

(1)中序遍历根节点的左子树;

(2)访问根节点;

(3)中序遍历根节点的右子树。

3.后序遍历

后序遍历的递归进程为:若二叉树为空,遍历结束。否则,

(1)后序遍历根节点的左子树;

(2)后序遍历根节点的右子树;

(3)访问根节点。

层次遍历

二叉树的层次遍历,是指从二叉树的层(根结点)开始,从上至下逐层遍历,在同一层中,则按从左到右的顺序对结点逐一访问。在进行层次遍用时,对一层结点访问完后,再按一个元素,每取一个元素,执行下面两个操作:

(1)访问该元素所指结点;

(2)若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。

此进程不断进行,当队列为空时,二叉树的层次遍历结束。

这部分相关算法和二叉树遍历的非递归算法在《计算机学科专业基础综合辅导讲义》中有详细讲授,大家如果对这部分内容还有疑问,可以查阅《计算机学科专业基础综合辅导讲义》,一定要把这些基础内容搞清楚。

下面大家来看二叉树遍历这部份在考试中常考题型

1.由二叉树的两个遍历序列的组合(先序序列和中序序列)、(中序序列和后序序列)、(层次序列和中序序列)构造该二叉树或求其他遍历序列是一种常见的题型。需要注意的是已知二叉树的先序序列和后序序列不能肯定该二叉树。

2.以遍历为基础的二叉树算法设计是考试的重点和难点。常见的试题有以下几类:

(1)基于二叉树遍历的递归算法

这类题目的特点是直接根据三种递归算法改写,修改访问语句来实现。例如:求二叉树的结点个数。

(2)基于二叉树层次遍历的算法

这类题目有求二叉树的高度,求二叉树宽度等。

(3)基于顺序存储的二叉树遍历算法

例如:求顺序存储的满二叉树中序遍历的非递归算法。

(4)其他二叉树遍历算法

例如:左、右子树交换等。

大家要重点掌握这些以遍历为基础的二叉树算法题目,这就要求大家多做练习,通过习题训练加深理解,掌握解题思路和技巧,提高解题能力。针对以上几种算法题,大家可通过计算机学科专业基础综合辅导讲义同步练习来准备相应的练习题并配有详细的解答,掌握此部分内容。

另外,现在大家开始冲刺温习了,选择1本涵盖全面、与真题题型一致、题目难度和真题难度高度相近,并对这两年的考试试题进行了详细分析的全真摹拟试题集,是此时冲刺的帮手,可以帮助你查缺补漏,显著提高应试能力。

白带多是为什么啊
子宫内膜炎如何治疗
得了宫颈炎怎么治

猜你喜欢