【问题标题】:General tree to Binary tree conversion complexity一般树到二叉树的转换复杂度
【发布时间】:2010-12-27 22:36:05
【问题描述】:

将通用树转换为二叉树的时间和空间复杂度是多少?!

谢谢

【问题讨论】:

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


    【解决方案1】:

    我不知道您所说的“通用树”是什么意思。无论如何,插入平衡二叉树的复杂性是O(log n),其中n 是树中当前的项目数,因此从一些项目列表构建完整树将是O(n log n),其中@987654324 @ 是要插入的项目总数。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多