0

当被要求在给定前序遍历的情况下创建 BST 时,给出的答案如下:http ://www.geeksforgeeks.org/construct-bst-from-given-preorder-traversa/

这需要很多代码。

我的问题是,为什么我不能插入一棵空树给我正确的答案?有没有简单的插入会导致错误答案的例子?例如,在该链接中给出的示例中,我们将 {10, 5, 1, 7, 40, 50} 作为前序遍历。但是,不只是按照预排序列表的顺序使用常规 BST 插入方法 6 次就给出了适当的树吗?我可以请一个反例和/或解释我为什么不正确吗?我一直想不出一个反例。

4

1 回答 1

6

仅仅调用insert正确的次数确实应该产生正确的树——但它需要 O(n log n) 复杂度,而它可以用 O(N) 复杂度来完成。

老实说,除非您正在处理大量数据,否则差异对您来说可能并不十分显着。

于 2013-07-14T04:10:27.970 回答