例として、の場合に考えられるすべてのツリーを次に 示します。 各ノードには、アリティ(=子の数)が書き込まれます。
これは動的プログラミングで解決できるはずですが、これには組み合わせの結果があったと思います(正確またはかなり細かい上限)。誰か知っていますか?
編集:
ツリーのサイズは、ノードの数です。したがって、最大のツリーは、ノードの最大数を持つツリーになります。
例として、の場合に考えられるすべてのツリーを次に 示します。 各ノードには、アリティ(=子の数)が書き込まれます。
これは動的プログラミングで解決できるはずですが、これには組み合わせの結果があったと思います(正確またはかなり細かい上限)。誰か知っていますか?
編集:
ツリーのサイズは、ノードの数です。したがって、最大のツリーは、ノードの最大数を持つツリーになります。
回答:
ましょルートからリーフまでの各パスのアリティにまで追加最大ツリーのサイズである。
そのようなツリーのルートにアリティがある場合、サブツリーのそれぞれのパスの合計はます。サブツリーは最適でなければならないため、ツリーのサイズはです。
以下のための、式わずかその発現最大限前回値用いて、。
私はこれを手作業で試してみましたが、(@ Sudixの助けを借りて)を見つけました。これはSloanes Online Encyclopedia of Integer SequencesのA239288のようです。そこで与えられた再帰は似ていますが、完全に同じではありません。
シーケンスの説明は、「すべてのコンポジションx0 + ... + xk = nにおけるx0 + x0 * x1 + ... + x0 * x1 * ... * xkの最大合計」です。これは実際に同じシーケンスです。ルートからのパスに沿ったアリティのシーケンスがx0、x1、...、xkである場合、これらは合計してnになり、ノードの数は実際に与えられた式になります。
Sloaneの別のコメントは興味深いです:「n> = 8の場合、解は循環になります:a(3n + k)= 3 + 3a(3n-3 + k)」。これは、24より大きい値の場合、ツリーのルートには常に3つの子があることを示唆しているようです。