簡體   English   中英

插入2-3-4樹數的節點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM