1. 程式人生 > >Linux核心用到的Radix Tree(轉)

Linux核心用到的Radix Tree(轉)

(2) insert/delete因為需要維護每個節點的height域,所以不是單純按照基本radix tree的split和merge來做的,而是需要調整相關節點的height值,是通過分別呼叫radix_tree_extend和radix_tree_shrink來實現的。
    其中radix_tree_extend只有在新插入的整數大於當前height下所能儲存的最大整數值時才需要調整,因為後者是該height下滿二叉樹所能儲存的最大值,而如果不超過最大值,則肯定會插在某一高度層次中而無需調整其它任何節點的height。