我有两棵二叉树,我想合并它们。 我的第一个问题是,我们是否可以合并两个二叉树,如果是的话,我可以如何有效地执行合并操作,以及我可以执行合并操作的各种方法有哪些。 ..?我如何合并两棵二叉树
回答
1)将两个树平铺到排序列表中。
2)合并列表你在1 GOT)
3)构造树出了什么你2了)
有没有复杂性? –
您可以使用标准的有序步行将树木平铺到O(n)时间的列表中。合并两个排序列表也可以在O(n)时间完成。一旦你合并了列表,你可以在O(n)时间内构建BST,方法是递归构造左右两半的树,然后将它们粘合在一起。因此整体的复杂性是O(n)。 – templatetypedef
@templatetypedef:谢谢你的回答。是的,复杂性是O(n)。 – hari
效率讨论创建一个新的节点,并在其中一棵树的头指向一个尾巴,在其他树的头点其它的尾巴。也许你需要澄清你的问题是更具体。你想保留什么样的关系?
树也是一个图,所以输出每棵树的边缘顶点对(u,v),然后将这些边集合合并,并输出结果图。
问题在于如何将一棵树中的顶点映射到另一棵树顶点(例如,我们在树1中有边对(5,9),在树2中有边对(5,6),这些5s对应于相同的顶点?)。
使用顶点编号(也许它将数字赋给不完整的二叉树中的每个顶点,就好像它是一个完整的二叉树一样,换句话说就是将任何部分二叉树中的顶点赋给一个假设该树是子树的完整二叉树),以某种方式提供理想的等价性是有效的。
- 1. 合并两棵二叉树
- 2. 合并两棵树集合
- 3. 二叉树合并?
- 4. 这棵树是二叉搜索树吗?
- 5. 二叉搜索树 - 复制一棵树到另一棵树
- 6. Node类代表一棵二叉树C++
- 7. 连接/合并/连接两棵AVL树
- 8. 合并方法(二叉搜索树)
- 9. 我们可以用单链表构造一棵二叉树
- 10. 我可以使用git合并两棵svn树吗?
- 11. 检查一棵树是否是二叉搜索树
- 12. 交叉验证如何为这两棵树工作?
- 13. 在Prolog中合并两个二叉搜索树
- 14. 比较两个二叉树
- 15. 如何将一棵树分割成两棵子树
- 16. 比较两棵树
- 17. 如何平衡我的二叉树
- 18. 二叉树到二叉搜索树(BST)
- 19. 二叉树 - 哪一种二叉树
- 20. 如何打印二叉树?
- 21. 如何扭转二叉树
- 22. 如何制作二叉树?
- 23. 如何建立二叉树
- 24. 如何创建二叉树
- 25. Python二叉树
- 26. 非二叉树
- 27. balanced()二叉树
- 28. 二叉树
- 29. JAVA:二叉树
- 30. 二叉树
合并二叉树非常简单,只需将一个二叉树的根链接为另一个叶子节点的子节点。你是否有其他想要保存的结构,例如被命令或平衡? – JGWeissman
让我们从简单的无序不平衡树开始。你说这是微不足道的,所以你可以告诉我它是如何完成的。? –