我正在寻找一种算法来合并两个任意大小和范围的二进制搜索树。我实现此目标的明显方法是找到整个子树,其范围可以适合另一棵树中的任意外部节点。然而,运行时间对于这类算法的最坏情况似乎是数量级的O(n+m)
地方n
,并m
分别为每棵树的大小。
但是,有人告诉我可以在中完成此操作O(h)
,其中h
的树的高度更大。我完全不知道这是怎么可能的。我尝试过先旋转一棵树,但是将一棵树旋转成脊柱已经是O(h)了。
O(log n)
通过简单的移动节点功能可以轻松地完成合并二叉树吗?
n
。只有完整或完整的二叉树的高度与其节点总数成对数。