algorithm - 从二叉搜索树中删除是对称的吗?

标签 algorithm data-structures binary-search-tree

如果我删除节点 x,然后删除节点 y,或者删除 y 和 x,删除后我将保留相同的二叉搜索树吗?

我试了几个例子,我认为这是真的。

但是我怎样才能证明这一点呢?

最佳答案

这是假的。考虑树

  4
 / \
1   5
 \
  2
   \
    3 ,

其中 4 和 5 按某种顺序删除。如果顺序是5然后4,结果是

1
 \
  2
   \
    3 .

如果顺序是4然后5,结果可能是

  3
 /
1
 \
  2 ,

假设,当我们要删除一个有两个 child 的节点时,我们会用它的有序前任节点的值替换它的值并删除前任节点。 (我还假设零和一个子节点的标准删除过程。)

虽然我是手工找到这个例子的,但我经常求助于计算机的帮助。

关于algorithm - 从二叉搜索树中删除是对称的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706830/

相关文章:

c - 查找 2 个整数之间数字不重复的数字计数的算法

java - 在Java中将对象插入到四叉树中

algorithm - 理解主定理

java - 在有障碍物的二维矩阵中找到到达给定目标单元格的最短路径

algorithm - 文本自动完成的最佳数据结构是什么?

c++ - BST最长路径的平均值

algorithm - 设计一个对序列进行排序的算法 O(nloglogn)

java - 具有多个 boolean 值的 AtomicMarkableReference

java - 如何显示(输出)在二叉搜索树中查找值所需的迭代次数?

java - 将单链表排序到 BST