【发布时间】:2016-10-11 14:53:08
【问题描述】:
这个问题来自http://www.geeksforgeeks.org/construct-bst-from-given-preorder-traversa/
我能想到下面的简单算法(Java 内部对 TreeMap 遵循的那种相同)
- 我们可以开始一一添加节点了。添加开始时将每个节点与根节点进行比较,然后确定右/左位置
- 递归执行
但我在谷歌或同一链接上的任何地方都没有看到提及它。据我了解,它的时间复杂度将是 nlog(n)。我理解它并不比第二种方法 O(n) 好,但比第一种方法 O(n^2) 好不是吗?
【问题讨论】:
-
这个stackoverflow.com/questions/19640382/… 讨论的方法与您提到的相同。正如回答中所说,这将需要 nolg(n)。