给定两个平衡二叉搜索树,B1 有 n 个元素,B2 有 m 个元素,合并这些树以形成另一个包含 m+n 个元素的平衡二叉树的最著名算法的时间复杂度是多少?
(A) O(m+n)
(B) O(mlogn)
(C) O(nlogm)
(D) O(m 2 + n 2 )
答案:(一)
解释:
O(m+n) 因为我们可以先对两棵树执行中序并将它们存储在两个单独的数组中。现在我们有两个排序序列,我们可以使用标准合并算法在 O(m+n) 中合并它们,在最终排序数组上,我们可以使用二分搜索使用递归创建树。在根处递归添加中间元素,并对左右子数组重复相同的过程。这个问题的测验