大家好,
根据下面给出的线程二叉树的定义
通过使所有正确的子指针(通常为空指向节点的inorder后继节点)以及通常为null的所有左子指针指向节点的inorder的前导,来生成二叉树。
但是在上面的图中,右子指针指向了前导和左子指针指向inorder继承人,这让我感到困惑。
答案 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继承者