8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何有效地合并两个 BST?

ozw1z5rd 1月前

25 0

如何合并两个二叉搜索树并保持 BST 的属性?如果我们决定从一棵树中取出每个元素并将其插入到另一棵树中,则此方法的复杂度将为 O(n1 * log(...

如何合并两棵二叉搜索树并保持 BST 的属性?

如果我们决定从一棵树中取出每个元素并将其插入到另一棵树中,则此方法的复杂度将是 O(n1 * log(n2)) n1 其中 是已拆分的 T1 树(假设 )的节点数 n2 是另一棵树(假设 )的节点数 T2 。 经过此操作后,只有一个 BST 有 n1 + n2 节点。

我的问题是:我们能做得比 O(n1 * log(n2)) 更好吗?

帖子版权声明 1、本帖标题:如何有效地合并两个 BST?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由ozw1z5rd在本站《algorithm》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我很难理解为什么创建平衡 BST 的最后一步是 O(N)。由于这里使用的数据结构是一个列表,那么在递归的每个级别中为 n 个元素找到“中间”的复杂度不是 n/2 吗?所以创建平衡 BST 的总复杂度将是 n/2 log n,对吗?如果排序后的数据在数组中,我可以看到如何在 O(N) 中完成此操作。但这里的情况并非如此。我遗漏了什么?

返回
作者最近主题: