民國108年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第43題

假設n 代表資料數量,下列之描述何者是正確的?

題目

假設n 代表資料數量,下列之描述何者是正確的?

  1. (1) 在AVL Tree 刪除一個節點,所需之Rotation 時間複雜度為O(1)
  2. (2) 在AVL Tree 新增一個節點,所需之Rotation 時間複雜度為O(1)
  3. (3) 刪除Mini mum Heap 之最小值,所需之時間複雜度為O(1)
  4. (4) 將二元樹以Preorder 順序排列,所需之時間複雜度為O(log n)

官方答案

(2) 在AVL Tree 新增一個節點,所需之Rotation 時間複雜度為O(1)

解析

AVL樹插入新節點後,只需沿回溯路徑做一次單旋轉或雙旋轉即可恢復平衡,旋轉次數為常數,時間複雜度O(1)。刪除節點則可能使路徑上多個祖先相繼失衡,最壞需O(log n)次旋轉。最小堆刪除最小值時,要把最後一個元素搬到根,再向下篩選,複雜度為O(log n),並非O(1)。前序走訪必須拜訪每個節點一次,時間為O(n),不是O(log n)。故選2。

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

官方資料