資料結構與演算法
對空的二元搜尋樹依序插入 50, 30, 70, 20, 40, 60, 80。以後序走訪(依左子樹、右子樹、該節點的順序拜訪)走訪此樹時,順序為下列何者?
- A50, 30, 20, 40, 70, 60, 80
- B20, 40, 30, 60, 80, 70, 50
- C20, 30, 40, 50, 60, 70, 80
查看答案與解析
正確答案:B. 20, 40, 30, 60, 80, 70, 50
根為50,左子節點為30(其子節點為20與40),右子節點為70(其子節點為60與80)。後序走訪先拜訪左子樹的 20, 40, 30 與右子樹的 60, 80, 70,最後才拜訪根部的50。50, 30, 20, 40, 70, 60, 80 是先拜訪節點的前序走訪,20, 30, 40, … 則是中序走訪的結果。後序走訪用於必須先處理子節點的情況,例如刪除整棵樹,或由算式樹產生後序式。
- A. 這是先拜訪節點的前序走訪的結果。
- B. 正確。先拜訪左右子樹再拜訪節點,因此根部的50在最後。
- C. 這是中序走訪的結果,值依升冪排列。