1

我创建了一个带有一些整数值的二叉树,我可以通过我的代码搜索树。但我不知道如何进行删除节点操作。

那么,如何删除节点?

4

1 回答 1

1

Wikipedia entry - Binary Search Tree - 解释了如何实现 BST 操作。

删除:有几种情况需要考虑:

  • 删除叶子:删除没有子节点的节点很容易,因为我们可以简单地将它从树中删除。
  • 删除一个有一个子节点的节点:删除它并用它的子节点替换它。
  • 删除有两个孩子的节点:将要删除的节点称为“N”。不要删除 N。而是选择它的有序后继节点或它的有序前驱节点“R”。将 N 的值替换为 R 的值,然后删除 R。(注意:R 本身最多有一个孩子。)
于 2009-09-19T08:26:43.853 回答