我被问到我的项目的空间要求,我不确定答案,所以我在这里问。这是我的工作:
m
)。我的想法是空间要求是:O(n*d + m)
,其中n
是点数,d
是点的维度,m
是数字树木,但我通过经验告诉我,不确定我是否完全理解它!
有人可以帮忙吗?
老实说,每一片叶子都包含许多分数p
,但我认为如果我能得到上述问题的答案,我将能够计算出结果。
答案 0 :(得分:1)
在具有n个叶子的完美二叉树中,节点的总数是2n-1,即O(n)。更一般地说,如果你有一组具有n个总叶子的完美二叉树,则节点的总数将是2n-1。因此,如果n个叶子节点中的每一个都存储一个d维点,则总空间使用量为O (ND)。
这里的树木数量实际上并不需要在大O空间分析中显示出来。可以这样想:如果你有m个树,假设每个都是非空的,那么你必须至少有n个叶子节点(每棵树至少有一个),所以我们知道m = O(n)。因此,即使您将每棵树的空间开销计为O(m),O(nd + m)的总空间使用量也相当于O(nd)。
希望这有帮助!