问题详情

已知某二叉树的层序、中序序列分别为FDEBCA、DBAFCE,则该二叉树的后序序列为(39)。


A、ABDCEF

B、BCDEAF

C、DABECF

D、DBACEF

时间:2022-01-03 01:42 关键词:

答案解析

A
解析:遍历二叉树是按某种搜索策略巡访二叉树中的每一个节点,使得每个节点均被访问一次,而且仅被访问一次。二叉树可以递归定义成由3个部分组成,即根节点(记为D)、左子树(记为L)和右子树(记为R)。只要按某种次序遍历这三部分,即遍历了整个二叉树。若限定左子树的遍历要在右子树的遍历之前,那么根据访问根节点的位置的不同可有3种方法:前序遍历、中序遍历和后序遍历,分别简记为DLR、LDR和LRD。层序遍历二叉树的操作定义为:从树的根节点出发,首先访问第1层的树根节点,然后从左到右依次访问第二层上的节点,其次是第三层上的节点,依此类推,自上而下、自左至右逐层访问树中各层上的节点。根据以上遍历方法的特点,先序、后序、层序序列用于确定树根节点,在此基础上,根据中序序列划分根的左右子树,即可逐步构造出对应的二叉树。对于本试题,首先根据层序序列的第一个节点为根,即F为根节点,然后根据中序序列划分左、右子树,就得到左、右子树的中序序列分别为DBA和CE,因此得知根的左右子树都不为空,也就是说层序序列中D、E分别是F的左子节点和右子节点。由于中序序列中C在E之前,因此C为E的左子树根,而在F的左子树D上,B、A在D之后,即说明D的左子树为空,B、A为其右子树的节点且B、A两节点形成父子节点关系。在层序序列中B在A之前,因此B为A的父节点,在中序序列中B在A之前,因此A是B的右子节点,因此该二叉树如图6-11所示。如图6-11所示的二叉树的后序序列为ABDCEF。