二叉搜索树的前遍历序列是30、20、10、15、25、23、39、35、42。以下哪一个是同一棵树的后遍历序列?
(A) 10、20、15、23、25、35、42、39、30
(B) 15、10、25、23、20、42、35、39、30
(C) 15、20、10、23、25、42、35、39、30
(D) 15、10、23、25、20、35、42、39、30答案: (D)
说明:为了从给定的遍历序列构造二叉树,遍历序列之一必须是Inorder。其他遍历序列可以是预排序或后排序。我们知道二叉搜索树的有序遍历总是按升序进行的,所以有序遍历将是给定的遍历遍历的升序,即10、15、20、23、25、30、35、39、42。根据给定的Inorder和Preorder遍历构造一棵树。
参考:
http://www.geeksforgeeks.org/construct-tree-from-given-inorder-and-preorder-traversal/
http://www.geeksforgeeks.org/data-structures-and-algorithms-set-31/
该解决方案由Parul sharma贡献。
这个问题的测验