m0_70075498 2023-03-24 21:17 采纳率: 0%
浏览 16

为什么二叉排序树删除叶子结点时不能将其直接置空?

为什么都是需要将要删除的父结点的右子结点,或者左子结点置空,而不能直接置空。

  • 写回答

1条回答 默认 最新

  • IT_service_mesh 2023-03-24 21:18
    关注

    参考GPT和自己的思路:二叉排序树是一种特殊的二叉树,它的每个结点都只有左子结点和右子结点,并且满足左子结点的值小于等于该结点的值,右子结点的值大于等于该结点的值。当要删除一个叶子结点时,需要找到它的父结点,并将父结点的指针置空。如果直接将要删除的叶子结点置空,那么它的父结点将不再指向它,但是它的兄弟结点仍然可以通过父结点的指针找到它,这会导致二叉排序树的结构不再满足要求。因此,在删除二叉排序树的叶子结点时,需要将其父结点的相应子结点置空,从而保持二叉排序树的结构不变。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月24日