Q190.
假設有一分支度(Order)為3 之B-tree,下列敘述何者正確?
電腦軟體設計共同科目 · 乙級 · Q190
難易度分析
4 / 5
本題要求考生針對不同的數據插入順序,精確模擬 B-tree 的節點分裂過程與結構變化。由於需在多組對比選項中判斷最終的節點總數與根節點組成,涉及多步驟的邏輯推理與對演算法細節的精確掌握。
正確答案:④將鍵值1,5,3,2,4 依序插入B-tree 後,總共有3 個節點
④ 將鍵值1,5,3,2,4 依序插入B-tree 後,總共有3 個節點:依序插入 1,5,3,2,4 後,插入 3 時根節點 [1,3,5] 發生節點分裂,中位數 3 成為新根,左子節點 [1]、右子節點 [5];後續插入 2 和 4 分別填入左右子節點,最終共 3 個節點(根=[3]、左=[1,2]、右=[4,5])。
錯誤選項解析
- ① 將鍵值1,5,3,2,4 依序插入B-tree 後,鍵值2 是放在根(Root)節點內:依序插入 1,5,3,2,4 後,根節點存放的是中間鍵值 3,而非 2。B-tree 的 分裂機制 會將中位數提升至父節點,此序列插入後根節點為 [3]。
- ② 將鍵值1,2,3,4,5 依序插入B-tree 後,鍵值3 是放在根(Root)節點內:依序插入 1,2,3,4,5 後,根節點為 [2, 4],鍵值 3 位於葉節點而非根節點。連續遞增序列插入會導致多次分裂,中位數 2 先成為根,後續插入 5 時 4 再被提升至根。
- ③ 將鍵值1,2,3,4,5 依序插入B-tree 後,總共有3 個節點:依序插入 1,2,3,4,5 後,插入 3 時產生第一次分裂(根=[2],左=[1],右=[3]),插入 5 時右節點 [3,4,5] 再次分裂,最終產生 4 個節點(根=[2,4]、左=[1]、中=[3]、右=[5]),而非 3 個。
Learning Tip
"B-tree 分裂機制是此類題型的核心考點:當節點鍵值數達到 order-1 上限時,必須將中位數提升至父節點。插入順序會顯著影響最終樹狀結構,遞增序列比亂序序列更容易產生多層分裂。解題時務必逐步模擬插入過程,追蹤每次分裂後的根節點內容與節點總數。"
學員答題分佈
①將鍵值1,5,3,2,4 依序插入B-tree 後,鍵值2 是放在根(Root)節點內0%
②將鍵值1,2,3,4,5 依序插入B-tree 後,鍵值3 是放在根(Root)節點內0%
③將鍵值1,2,3,4,5 依序插入B-tree 後,總共有3 個節點0%
④將鍵值1,5,3,2,4 依序插入B-tree 後,總共有3 個節點0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!