Q166.
下圖分支度(Order)為3 之B-tree,下列敘述何者是正確的?
電腦軟體設計共同科目 · 乙級 · Q166
難易度分析
3 / 5
此題要求考生對 B-tree 的動態操作過程進行模擬分析。必須精確掌握分支度對節點容量的限制,並能區分一般節點分裂與導致樹高增加的根節點分裂之差異,需經過多步驟的邏輯推演才能判定正確選項。
正確答案:③插入鍵值(Key)25 於原始B-tree,則此B-tree 之高度會增加
③ 插入鍵值(Key)25 於原始B-tree,則此B-tree 之高度會增加:插入鍵值 25 會使根節點(Root) 達到容量上限而觸發分裂,當根節點分裂時,B-tree 會建立新的根節點,導致樹的高度(Height)增加一層。此為 B-tree 高度增長的唯一時機。
錯誤選項解析
- ① 插入鍵值(Key)50 於原始B-tree,則此B-tree 之節點共有1 次分裂(Split):插入鍵值 50 於原始 B-tree 時,由於該節點尚有空間可容納此鍵值,未達到節點最大容量上限,因此不會觸發分裂(Split)動作。
- ② 插入鍵值(Key)20 於原始B-tree,則此B-tree 之節點共有1 次分裂(Split):插入鍵值 20 於原始 B-tree 時,同樣因目標節點仍有剩餘空間,不需進行節點分裂,直接將鍵值插入適當位置即可。
- ④ 插入鍵值(Key)80 於原始B-tree,則鍵值45 是放在根(Root)節點內:插入鍵值 80 後,鍵值 45 並不會位於根節點內。在 B-tree 的插入演算法中,鍵值的分佈取決於大小比較與節點分裂後的重新分配,45 會保留在原本的葉節點或內部節點中,不會因插入 80 而移動至根節點。
Learning Tip
"B-tree 高度增加的唯一條件是根節點發生分裂。在分支度為 m 的 B-tree 中,每個節點最多可存放 m-1 個鍵值,當插入鍵值使節點超過此上限時才會分裂。常考陷阱在於混淆「節點分裂」與「高度增加」——只有根節點分裂才會使高度加一,其他節點的分裂僅影響局部結構,不改變樹的高度。"
學員答題分佈
①插入鍵值(Key)50 於原始B-tree,則此B-tree 之節點共有1 次分裂(Split)0%
②插入鍵值(Key)20 於原始B-tree,則此B-tree 之節點共有1 次分裂(Split)0%
③插入鍵值(Key)25 於原始B-tree,則此B-tree 之高度會增加0%
④插入鍵值(Key)80 於原始B-tree,則鍵值45 是放在根(Root)節點內0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!