民國105年 第2梯次 電腦軟體設計(C++)乙級 學科

第49題

將右列堆積( H e a p ) [ 15 , 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 1 , 2 , 6 ] 的最大元素刪除後,所…

題目

將右列堆積( H e a p ) [ 15 , 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 1 , 2 , 6 ] 的最大元素刪除後,所形成的堆積何者正 確?

  1. (1) 13 , 12 , 9 , 8 , 7 , 6 , 5 , 4 , 2 , 1 , 0
  2. (2) 13 , 9 , 5 , 12 , 8 , 7 , 4 , 0 , 6 , 2 , 1
  3. (3) 13 , 12 , 9 , 5 , 2 , 8 , 7 , 4 , 0 , 1 , 6
  4. (4) 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2

官方答案

(4) 13 , 12 , 9 , 5 , 6 , 8 , 7 , 4 , 0 , 1 , 2

解析

最大堆積刪除最大元素(根節點15)時,先將最後一個元素6移至根,再與較大的子節點交換向下調整。第一次6與13交換,得13,6,9,5,12,8,7,4,0,1,2;第二次6與其子節點12交換,得13,12,9,5,6,8,7,4,0,1,2;此時6的子節點為1與2,皆小於6,調整結束。結果與選項4相符,其餘選項在父子節點大小關係上均不滿足最大堆積性質。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料