ここにはいくつかのオプションがあります。1 つの方法は、ファイル全体をメモリからある種の配列に読み込み、そこからトップダウンで四分木を構築することです。マップが非常に巨大でない限り、これがおそらく最も簡単な方法です。
別のオプションは、下部の個々のノードからボトムアップでツリーを構築することです。次に、読み取ったものから親ノードを形成するのに十分なノードを解析したら、そうします。この例では、読み取った値ごとにリーフ ノードを形成します。次に、偶数行の偶数列で、葉ノードを形成した後、そこから第 2 レベルのノードを形成します。
次のような構造が得られます。
1 1 1 1 1 1 1 1
1 2 1 2 1 2 1 2
1 1 1 1 1 1 1 1
1 2 1 3 1 2 1 3
1 1 1 1 1 1 1 1
1 2 1 2 1 2 1 2
1 1 1 1 1 1 1 1
1 2 1 3 1 2 1 4
各数字は、その位置の数字を読み取ると形成されるノードの最高レベルを表します。また、各レベルの下にすべてのレベルを形成します (つまり、レベル 3 では、レベル 2 ノードとリーフ (レベル 1) ノードも形成します)。