一棵查找二叉树,其节点A,B,C,D,E,F依次存放在一个起始地址为n(假定地址以字节为单位顺序编号)的连续区域中,每个节点占4字节,前二字节存放节点值,后二字节依次放左指针、右指针。 若该查找二叉树的根节点为E,则它的一种可能的前序遍历为(20),相应的

admin2019-03-11  23

问题 一棵查找二叉树,其节点A,B,C,D,E,F依次存放在一个起始地址为n(假定地址以字节为单位顺序编号)的连续区域中,每个节点占4字节,前二字节存放节点值,后二字节依次放左指针、右指针。
若该查找二叉树的根节点为E,则它的一种可能的前序遍历为(20),相应的层次遍历为(21)。在以上两种遍历情况下,节点c的左指针LC的存放地址为(22),LC的内容为(23)。节点A的右指针RA的内容为(24)。

选项 A、n+4
B、n+8
C、n+12
D、n+16

答案B

解析 此题最主要的条件就是“查找二叉树”。查找二叉树中每一个节点的左子树节点关键值小于节点本身,而右子树节点大于节点本身。题目中又给出条件“根节点为E”,所以比E小的节点A,B,C,D都是E的左子树节点,而F是右子树节点,又因为前序遍历顺序为:根、左、右,所以前序遍历的第一个节点是E,最后一个节点是F。因此对于空(1),选项D满足。由上述分析知道,前序遍历序列为EACBDF,且知道二叉树的左子树是ACBD,再根据前序遍历的性质和A是左子树的根节点,可知C,B,D均是A节点下的右子树。同理B和D分别是C的左子树和右子树。最后所得的二叉树如图8-5所示。

根据图8-5,我们立即得到该二叉树的层次遍历序列为EAFCBD。根据试题条件,节点A,B,C,D,E,F依次存放,且每个节点占4字节,所以C的起始地址为n+8,Lc的地址为n+10。根据图8-5所示,Lc中应存放B的地址,由于起始地址为 n,因此B的地址为n+4,Lc上的内容是n+4。节点A的右指针Ra中应存放C的地址,而C的地址为n+8,即Ra的内容是n+8。
转载请注明原文地址:https://kaotiyun.com/show/xrRZ777K
0

最新回复(0)