二叉搜索树的前序遍历序列是30, 20, 10, 15, 25, 23, 39, 35, 42. 以下哪一个是同一棵树的后序遍历序列?
(一) 10, 20, 15, 23, 25, 35, 42, 39, 30
(乙) 15, 10, 25, 23, 20, 42, 35, 39, 30
(C) 15、20、10、23、25、42、35、39、30
(四) 15, 10, 23, 25, 20, 35, 42, 39, 30答案: (D)
解释:为了从给定的遍历序列构造一棵二叉树,遍历序列之一必须是中序的。另一个遍历序列可以是 Preorder 或 Postorder。我们知道二叉搜索树的中序遍历始终是升序的,所以中序遍历是给定的前序遍历的升序,即 10、15、20、23、25、30、35、39、42。现在我们有从给定的中序和预序遍历构造一棵树。
参考:
http://www.geeksforgeeks.org/construct-tree-from-given-inorder-and-preorder-traversal/
http://www.geeksforgeeks.org/data-structures-and-algorithms-set-31/
该解决方案由Parul sharma 提供。
这个问题的测验