對一個二元樹的走訪(Binary tree traversal),以後序走訪(Postorder traversal)的結果是 FECHGDBA,但若以中序走訪(Inorder traversal)的結果是 FECABHDG,那麼這個二元樹若以先序走訪(Preorder traversal)的結果為何?
AACEFBDHG正確答案
BAFECBHDG
CACFEBHDG
DABDGHCEF
答案與詳解
後序最後為A(根節點)。中序以A分左右:左子樹FEC、右子樹BHDG。左子樹後序為FEC,根為C,中序C左為FE,故E為C左子、F為E左子。右子樹後序HGDB,根為B,中序B右為HDG,後序HGD根為D,中序D左H右G。還原後先序(中左右)為ACEFBDHG。
