我正在尝试解决此问题:“给出了一个二叉树,检查他的预订访问,并用相同的预订访问构建一棵二叉搜索树。演示是否总是可能的,如果没有给出示例,何时这是不可能的。” 有什么帮助吗?我需要编写伪代码并给出时间复杂性,但是我对构建一个二进制搜索树有很多疑问,对于每个可能的二进制树都具有相同的预访问。
答案 0 :(得分:1)
如果您使用经典算法插入二叉搜索树,即执行搜索,并在找到的NULL
指针上停止搜索以放置新节点,则只需插入在空树中,预排序序列将产生恰好具有给定预排序序列的二叉树。
尝试一下。遍历任何预序列并将其插入一棵空树中,您将意识到这一点。
希望对您有所帮助。欢迎堆栈溢出!