質問

完璧な四分木のサイズを見つける必要があります。 これは、4つのノードに分割される1つのルートノードがあり、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は用語の数、^は「to-the-power-of」を示します。

他のヒント

四分木の場合、アルゴリズムは ジェネラコディセタグプレ

たとえば、深さ3の場合 ジェネラコディセタグプレ

そして3つのレイヤーを数えると得られます ジェネラコディセタグプレ

私の実装では、2つの配列に分割しました ここで、ノードを離れるすべてのノードのサイズは ジェネラコディセタグプレ

ノードを離れる ジェネラコディセタグプレ

これらの計算は、コンパイル時にpowのメタプログラミングと深さのテンプレート引数を使用して行います。したがって、ノードを2つの配列に割り当てるだけです。

誰かがコードサンプルを必要とする場合に備えて(swift3) ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top