检查给定订单是否是合法的后续订单遍历

时间:2013-01-21 06:06:32

标签: traversal binary-search-tree

如果你有一个包含10个节点的二叉搜索树,存储整数0到9,我们如何判断序列是否不能代表树的后序遍历?我知道根必须是序列中的最后一个,但我无法达到任何模式。伪代码也很棒! (这不是作业,练习面试)

1 个答案:

答案 0 :(得分:1)

正如你所说,你知道根是什么。因此,您知道每个子树中的值范围。如果序列(少于根)不会分成两个序列,一个小于一个序列,一个比根大,那么它就无效。如果是,则需要递归检查两个子遍历。如果一切正常,那么它就是有效的。