对于二叉搜索树,先序遍历或后序遍历足以明确地重建其原始二叉搜索树。但我找不到证明或解释为什么会这样。对于中序遍历,很容易想出一个反例来显示可能有许多不同的BST与给定的中序遍历相对应。是否有任何证明或参考资料表明先序遍历或后序遍历足以明确地重建其原始BST?这是针对BST而不是一般的二叉树。
根据前序遍历的定义,保证根节点是第一个元素。现在,假设有一组唯一的元素将出现在根节点左半部分 - 即所有值小于root->val的元素。同样适用于右子树。现在,我们必须递归地应用上述逻辑到左子树和右子树。由于后序遍历只是反向树上的前序遍历,因此相同的逻辑也适用于后序遍历。
1 1 1
是5个不同BST的先序遍历序列。 - ruakh