首页 文章

与螺纹二叉树混淆

提问于
浏览
3

enter image description here

大家好,

根据下面给出的螺纹二叉树的定义

二进制树通过使所有正确的子指针(通常为空指向节点的inorder后继者)进行线程化,并且通常为null的所有左子指针指向该节点的inorder前导 .

但是在上面的图中右子指针指向inorder和前面的子指针指向inorder,这让我感到困惑 .

5 回答

  • 0

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

    B then C then D
    

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

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

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

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

  • 1

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

  • 1

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

  • 1

    在一些书中,当作者提到“ left 孩子”时,他们指的是在父节点的 right 中出现的孩子(可能是因为它从节点自己的角度来看是左边的) . 反过来也是这样 - 他们将 right 称为 left

    小心不要混淆!

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

    右节点的情况类似

  • 1

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

    但是在上面的图中,右子指针指向inorder和左子指针指向inorder继承人

相关问题