題意
給Tree的Preorder和Inorder,求出Postorder。
解法
Preorder (root, left subtree, right subtree)
Inorder (left subtree, root, right subtree)
Postorder (left subtree, right subtree, root)
所以對於preorder來說,最接近左邊的是某子樹的root,而該root對應到inorder中可知左部分是left subtree,而右部分是right subtree,而由於postorder先left再right,所以遞迴要先進行right subtree。
以範例來說:DBACEGF ABCDEFG123[D] ABCDEFG中在preorder中最左邊的是D,所以D是該樹的root,可知ABC是left而EFG是right。[ED] EFG在preorder中最左邊的是E,所以E是該子樹的root,沒有left而FG是right。[GED] FG在preorder中最左邊的是G,所以G是該子樹的root,F是left而沒有right。
依此類推即可。
程式
|
|