Q134.
假設有一分支度(Order)為17 之B-tree,下列敘述何者是正確?
電腦軟體設計共同科目 · 乙級 · Q134
難易度分析
4 / 5
本題要求考生區分 B-tree 中根節點與內部節點的不同限制條件,並需進行多層節點數與鍵值總數的遞推計算,涉及多個數值推導步驟且包含常見的概念陷阱。
正確答案:④若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個
④ 若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個:高度為 4 層時,第4層節點數 = 根(2子)×第2層(每節9子)×第3層(每節9子) = 2×9×9 = 162 個節點,每節最少 8 個鍵值,故第4層鍵值最少為 162×8 = 1296 個,計算正確。
錯誤選項解析
- ① 樹根節點至少有8 個鍵值(Key):B-tree 根節點的鍵值下限與一般節點不同,根節點至少需要 1 個鍵值(若非葉節點則至少有 2 個子節點),而非 ⌈m/2⌉-1=8 個鍵值,此選項混淆了根節點與非根節點的規則。
- ② 樹根節點至少有9 個子節點:根節點的子節點數下限為 2 個(當根節點非葉節點時),而非 ⌈m/2⌉=9 個,⌈m/2⌉ 的下限僅適用於非根的內部節點,此選項錯誤套用一般節點規則於根節點。
- ③ 若此B-tree之高度為3(共3 層),則鍵值總數最少的情形為108 個:高度為 3 層時,鍵值總數最少計算為:第1層根節點 1 鍵、第2層 2 節點×8 鍵=16 鍵、第3層 18 節點×8 鍵=144 鍵,合計 161 個鍵值而非 108 個,此選項計算錯誤。
Learning Tip
"B-tree 階序(Order) m 的核心考點在於區分根節點與非根節點的下限規則:根節點最少 1 鍵 2 子,非根節點最少 ⌈m/2⌉-1 鍵與 ⌈m/2⌉ 子。計算多層鍵值總數時,需逐層推導節點數(每層子節點數 = 上層節點數 × 每節子節點數),再乘以每節最小鍵值數。常考陷阱為將根節點誤用一般節點下限,或節點數遞推時遺漏乘積關係。"
學員答題分佈
①樹根節點至少有8 個鍵值(Key)0%
②樹根節點至少有9 個子節點0%
③若此B-tree之高度為3(共3 層),則鍵值總數最少的情形為108 個0%
④若此B-tree 之高度為4(共4 層),則第4 層之鍵值總數最少的情形為1296 個0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!