我如何合并两个二叉树

sau*_*anu 7 algorithm tree merge data-structures

我有两个二叉树,我想合并它们.我的第一个问题是,我们是否可以合并两个二叉树,如果是,我可以如何有效地执行合并操作,以及我可以执行合并操作的各种方法...?

har*_*ari 22

1)将树木展平为已排序的列表.
2)合并你所得到的清单1)
3)根据你所得到的结构树2)

  • 您可以使用标准的有序步行在O(n)时间内将树展平为列表.合并两个排序列表也可以在O(n)时间内完成.一旦合并了列表,就可以在O(n)时间内通过从左半部分和右半部分递归构造树,然后将它们粘合在一起来构造BST.因此总体复杂度为O(n). (2认同)

Dan*_*n W 5

算法可能对您有所帮助.


Dav*_*son 1

不考虑效率这个答案可能有效组合两个二叉树的算法?。如果排序或平衡,如何有效地合并两个 BST?以及连接/合并/连接两个 AVL 树