插入2-3-4树节点数

时间:2013-11-28 22:39:41

标签: algorithm insert 2-3-4-tree

我正在为某种内存管理实现2-3-4树。在我的应用程序初始化时我想插入一些整数(将其作为输入 - 说n) 这种插入物的复杂性是什么? O(nloglog(n))的

1 个答案:

答案 0 :(得分:1)

在2-3-4树上插入的复杂性是O(log(n))。

我们可以看到Wikipedia

的配额
  

2-3-4棵树是4阶B树(Knuth 1998)

在B树上插入的复杂性是O(log(n)),2-3-4树也是如此。通过重复插入来初始化2-3-4树,我们可以说init的时间成本是O(n * log(n))。但我们可以期待一种特殊的方法来构建[link]:

  

在应用程序中,构建B树以表示大型现有数据集合然后使用标准B树操作以增量方式更新它通常很有用。在这种情况下,构造初始B树的最有效方法是不是连续地在初始集合中插入每个元素,而是直接从输入构造初始叶节点集,然后从这些构建内部节点。这种B树结构的方法称为批量加载。最初,每个叶子,但最后一个叶子有一个额外的元素,将用于构建内部节点。

时间成本可以是(n + n / 4 + n / 16 + ... + n /(4 ^ h))。基于几何级数的总和。我计算时间成本。它小于(4/3)* n。

请指出我在计算过程中是否有任何错误。