【发布时间】:2020-02-13 20:31:04
【问题描述】:
倾斜二叉树是否比完美二叉树占用更多空间?
我正在解决问题 #654 - Leetcode 上的最大二叉树,给定一个数组,你必须制作一棵二叉树,根是数组中的最大数,左右子树是在最大数左右的子数组的原理相同,并且得出的结论是,在平均和最佳情况下(完美二叉树),占用的空间将是 O(log(n)),而最坏情况下(倾斜二叉树)将是 O(n)。
例如,给定 nums = [1,3,2,7,4,6,5], 树就是这样,
7
/ \
3 6
/ \ / \
1 2 4 5
如果给定 nums = [7,6,5,4,3,2,1], 树就是这样,
7
\
6
/ \
5
/ \
4
/ \
3
/ \
2
/ \
1
根据我的理解,它们都应该占用 O(n) 空间,因为它们都有 n 个节点。所以我不明白他们是如何得出这个结论的。 提前致谢。
【问题讨论】:
-
如何向我们展示你的树是如何定义的(显示一些代码)。然后告诉我们你认为答案是什么,并解释你是如何得出这个结论的。
-
我刚刚添加了一个解释,请看一下。
标签: data-structures tree binary-tree space-complexity