问题 问答题

假设一棵具有12个结点的二叉树的存储结构如下图所示,其中left和right分别表示此结点左、右孩子的序号,data表示此结点的数据,根结点为编号为4的结点。请根据此存储结构画出对应的二叉树,然后回答下面的问题:

(1)写出前序遍历、中序遍历和后序遍历此二叉树时的遍历序列。

(2)求出此树的高度并分析叶结点的个数。

(3)结点E的双亲及子孙分别是什么

答案

参考答案:

在二叉树的链表中,每个结点不仅存放了结点的数值,还存放着指向其左、右孩子的指针,则按照此题中给出的条件,编号为4的结点为根结点,即A为根结点,然后,再根据A的左、右孩子指针所指向的编号,分别找出A的左、右孩子为B,E,然后根据左、右孩子的左右孩子指针域所指向的编号,分别找出左、右孩子的左、右孩子……,直到所找到的结点的左、右孩子的指针域都为0时,则按照以上规则我们得到此二叉树的结构为:

 

(1)此二叉树的前序遍历序列为:ABGEHCFEJLMN 中序遍历序列为:GIBCHFAJCMLN 后序遍历序列为:IGCFHBJMNLEA (2)此树的高度是4,叶结点的个数为6。 (3)结点E的双亲是A,它的子孙是J,L,M,N。

单项选择题
单项选择题