是否可以在O(n)个步骤中从Max-Heap构造二叉搜索树?

时间:2019-02-04 12:48:20

标签: algorithm data-structures binary-search-tree max-heap

我认为这是不可能的,因为如果确实如此,人们会先构建max-heap,然后使用它来构建BST,我认为并非如此。

请给出答案并提供证明。

1 个答案:

答案 0 :(得分:3)

不,你不能。

堆的底层(可能包含一半以上的节点)在堆中可能是完全无序的。 (假设所有内部节点都小于所有叶子节点)。

构建BST将确定这些节点的顺序,但是排序需要O(n log n)的时间,因此您不能在O(n)的时间内构建BST。