我想知道如何从非搜索二叉树中删除节点。
即。如果我有这个二叉树:
....0.... ...1.....2... .......3.....4..
我想删除值为2的节点。
答案 0 :(得分:0)
如果它是一个有序树(如搜索树),通常会删除节点(示例中为2
)并将其替换为左子树子的最右侧叶子({{ 1}})或右侧子树的最左侧(3
)。如果它不是二叉搜索树,您也可以这样做。当然,这取决于树的语义和结构所代表的含义(如果有的话)。如果结构没有意义,那么只需删除要删除的节点,并将其替换为任何叶节点。