2011-07-19 65 views
3

enter image description here混淆线索二叉树

大家好,

按以下

给出使所有的右子指针,通常会是一个二叉树螺纹螺纹二叉树的定义null指向节点的中间继承者,并且所有通常为null的左侧子指针指向节点的中间前驱者。

但是在上图中右子指针指向inorder前辈和左子指针指向inorder后继者,这使我迷惑。

回答

1

看看C,什么是它的前身?接班人?订单是

B then C then D 

所以B是C的前身,D是C的继任者。

C的左指针指向哪里? B,这是前任,对我来说似乎很好。

同样,正如所料,C的右指针指向D.

好像陈述,图表和逻辑都同意。问题在哪里?

+0

的前身,谢谢@Djna明白你的观点,它相当简单。你所说的是C是节点,其左指针和右指针是NULL,左指针指向前驱,左指针指向后继。 –

1

报价和图形都是正确的,也许你有后继的定义和前任?

1

不,它们指向正确的节点。

+0

是的,他们都指向正确的节点,但如何它确实支持二进制线程的树,我能够理解的定义? –

+0

我看不出问题所在。以G为例,它的左子节点是F,它是节点的前驱节点。如果这仍然令人困惑,请检查inorder的含义。 –

+0

多数民众赞成在罚款,但如果你拿E作为一个例子,它应该只指向F不D,但其指向D,如何? –

0

定义和图形是相互一致的。但是,下面的语句是错误的:

但在上图右子指针指向序 前任和左子指针指向序后继

1

在一些书,当作者指的是“孩子”他们的意思是它出现在父节点的右孩子,(大概是因为它是从节点自身的角度左视图)。这同样适用于周围其他方式 - 它们是指离开

要小心,不要混淆!

在上图中,定义是正确的:左边的孩子被称为左边的孩子。

右节点的情况下,类似