我需要找到一个完美的四叉树的大小。 这意味着我有1个根节点,它分成4个节点,又分成4个节点,等等。

因此高度为1的四叉树的大小为1 高度2=尺寸5(1 + 4) 高度3=尺寸21(1 + 4 + 16) 高度4=尺寸85(1 + 4 + 16 + 64)

等等。

我知道一个完美的二叉树的大小可以找到:size= 2 ^(height + 1)-1 因此,我相信四叉树也存在类似的方程。

那是什么?

有帮助吗?

解决方案

这是几何级数。所以相关的公式是: 通用标签

其中a是第一个值,r是公用比率,n是项数,^表示“有能力”。

其他提示

对于四叉树,算法为 通用标签

例如,深度为3时您会得到 通用标签

如果计数三层,您将得到 通用标签

在我的实现中,我甚至将其分为两个数组 离开节点的所有节点的大小为 通用标签

离开节点是 通用标签

我在编译时使用pow的meta编程以及深度的模板参数来进行这些计算。所以我只是将节点分配到两个数组中。

以防万一有人需要代码示例(在swift3中) 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top