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

第25題

將1、2、3、4、5 依序插入空的AVL 樹後,再以中序追蹤(Inorder Traversal)的順序為何?

題目

將1、2、3、4、5 依序插入空的AVL 樹後,再以中序追蹤(Inorder Traversal)的順序為何?

  1. (1) 1、2、 3、4、5
  2. (2) 1、3、5、4、2
  3. (3) 1、4、3、5、2
  4. (4) 5、4、3、2、1

官方答案

(1) 1、2、 3、4、5

解析

依序插入 1、2、3 時,節點 1 的平衡因子變成 -2,需做一次 LL 型(向左)旋轉,使 2 成為根、1 與 3 分別為左右子。插入 4 後樹仍平衡;再插入 5 時,節點 3 的平衡因子達 -2,屬於 RR 型不平衡,對 3 做一次向左旋轉,4 升為該子樹根,3、5 為其左右子。最終結構為根 2、左子 1、右子 4,4 的左子 3、右子 5。中序追蹤的順序是左子樹、根、右子樹,因此依序輸出 1、2、3、4、5。選項 2、3、4 的順序都不符合二元搜尋樹中序追蹤會得到遞增序列的性質。

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

官方資料