合并两个有向树?

时间:2012-06-27 04:09:11

标签: algorithm computer-science

  

由于树高是计算效率的主要障碍,一个好的策略是使较短树的根指向较长树的根。

真的有关系吗?我的意思是如果你反过来做(将较长的树合并到较短的树),树高只会增加1.因为增加1不会产生真正的差异(是吗?),它真的重要吗?哪棵树合并成哪个?或者是否有另一个原因可以解释为什么将较短的树合并为较长的树?

注意我说的是不相交的集合。

2 个答案:

答案 0 :(得分:0)

您所谈论的是哪种树(二叉搜索树,不相交集或任何n-ary树)并不是很清楚。 但无论如何,我认为原因是虽然增加1并不重要,但如果你进行n次合并,你最终会增加n。如果您的数据结构需要大量合并(例如,不相交的集合),这可能很重要。

答案 1 :(得分:0)

quoatation缺乏背景。例如,在某些树结构中,可能必须逐个插入单个elemenet(例如,可能需要重新平衡树 - 通常需要高度为O的树(log n));也许这意味着:然后更容易向较大的树插入较少的元素。

显然,如果身高增加1事项取决于身高增加一倍的频率: - )

修改:使用disjoint sets时, 非常重要,较小(较低)的树将被添加到较大的树中。