与螺纹二叉树混淆

时间:2011-07-19 09:08:23

标签: c data-structures tree

enter image description here

大家好,

根据下面给出的线程二叉树的定义

  

通过使所有正确的子指针(通常为空指向节点的inorder后继节点)以及通常为null的所有左子指针指向节点的inorder的前导,来生成二叉树。

但是在上面的图中,右子指针指向了前导和左子指针指向inorder继承人,这让我感到困惑。

5 个答案:

答案 0 :(得分:1)

引用和图形都是正确的,也许你对后继者和前任的定义是否落后了?

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

B then C then D

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

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

同样,正如预期的那样,C的右指针指向D.

似乎声明,图表和逻辑都同意。问题出在哪里?

答案 3 :(得分:1)

在某些书籍中,当作者提到“孩子”时,他们指的是父节点的正确所显示的孩子,(可能是因为它是从节点自己的角度看左边)。反过来也是如此 - 他们将正确称为

小心不要混淆!

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

右节点的情况类​​似

答案 4 :(得分:0)

定义和图形彼此一致。但是,以下声明是错误的:

  

但是在上图中右子指针指向有序   前任和左子指针指向inorder继承者