一般树到二叉树的转换复杂性

时间:2010-12-27 22:36:06

标签: time-complexity binary-tree space-complexity

将常规树转换为二进制树的时间和空间复杂度是多少?!

由于

1 个答案:

答案 0 :(得分:0)

我不知道“一般树”是什么意思。无论如何,插入平衡二叉树的大部分复杂性都是O(log n),其中n是当前树中的项目数,因此从某些项目列表构建完整的树将是{{1其中O(n log n)是要插入的项目总数。

您还必须包括从其他树获取项目所需的时间。那个时间取决于你拥有的树的类型。为了论证,我假设您可以在线性时间内遍历它,因此从现有树中获取数据是n

这使您的总时间复杂度O(n)

所需的额外空间为O(n + (n log n)),其中n * sizeof(node)是二叉树节点的大小。请注意,如果存储在“常规树”节点中的项是指针,则不必支付复制实际对象的成本 - 只需要支持二叉树节点的开销,这通常是三个指针:数据,左子链接和右子链接。