[英]inserting into 2-3-4 tree number of nodes
我正在為某種內存管理實現2-3-4樹。在我的應用程序初始化期間,我想在其中插入一些整數(將其作為輸入-說n),這種插入的復雜性是什么? O(nloglog(N))?
在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。
請指出在計算過程中是否有任何錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.