许多树的空间需求是多少?

时间:2015-08-03 17:33:58

标签: data-structures tree binary-tree complexity-theory space-complexity

我被问到我的项目的空间要求,我不确定答案,所以我在这里问。这是我的工作:

  1. 我正在构建一些完美的二叉树(比方说m)。
  2. 每个叶子索引一个点(即我们保存数据和 每棵树都对存储在那里的点进行索引。
  3. 我的想法是空间要求是:O(n*d + m),其中n是点数,d是点的维度,m是数字树木,但我通过经验告诉我,不确定我是否完全理解它!

    有人可以帮忙吗?

    老实说,每一片叶子都包含许多分数p,但我认为如果我能得到上述问题的答案,我将能够计算出结果。

1 个答案:

答案 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)。

希望这有帮助!