【问题标题】:Time complexity of insertion and removing in 2-3 trees2-3棵树中插入和删除的时间复杂度
【发布时间】:2018-10-29 21:27:22
【问题描述】:

为什么2-3树的插入和删除操作总是复杂度为O(logn),有数学证明吗?

【问题讨论】:

  • 我知道它是 O(logn) 并且明白为什么。但我不明白为什么删除和插入操作具有相同的复杂性
  • 但是向节点插入值时的拆分操作呢?它可以一直执行到根目录。
  • 我没明白:(
  • 你在我必须插入的地方写下子树。但我只能插入叶子。写的是什么子树?

标签: time-complexity b-tree 2-3-tree


【解决方案1】:
  • 当我们在级别?插入一个键时,在最坏的情况下我们需要拆分 ? + 1 节点(每个 ? 级别加上根节点一个)。
  • 包含? 键的2-3 tree 具有最大级别数 二叉树的形式,其中每个内部节点都有一个键,并且 两个孩子。
  • 在这样的树中? = (2^(?+1)) − 1 其中? 是最低的数 水平。
  • 这意味着? + 1 = log(? + 1) 从中我们看到分裂是最坏的情况? log ?
  • 因此插入2-3 tree 最多需要? ??? ? 时间。
  • 同样我们可以证明搜索和删除需要? ??? ? 时间。

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    相关资源
    最近更新 更多