平衡二叉搜索树的时间和空间复杂度

时间:2020-04-17 21:09:36

标签: time-complexity binary-tree binary-search-tree binary-search space-complexity

构建平衡二叉搜索树的计算复杂度(时间和空间复杂度)是多少?

2 个答案:

答案 0 :(得分:1)

使用n个节点构建BST的时间复杂度为O(n*log(n))

为什么?您需要遍历每个n节点才能将其插入树中。现在插入一个节点将需要进行log(n)比较。

因此,在二进制搜索树中插入n个节点的总时间复杂度为O(n*log(n))

答案 1 :(得分:1)

将一个节点插入平衡的二进制搜索树需要O(log n)时间,因此可以在O(n log n)时间内插入n个节点来构建树。

仍有待证明,没有更好的方法来构建树-例如,将元素插入堆中还需要O(logn)时间,但是有a cleverer algorithm在O(n)时间内建立大小为n的堆。但是,Ω(nlogn)是任何比较排序算法的下限,因此,没有一种渐近更快的构建BST的方法,因为您可以先构建一个BST,然后traversing it in order进行比较排序