番号のリストがあります:
[1, 2, 3, 4, 5, 6, 7]
ツリーのリストが次の場合、このリスト内の合計子を合計できるアルゴリズムを見つけることに興味があります。
1
/ \
2 3
/ \ / \
4 5 6 7
私は与えるアルゴリズムを探しています:
[6, 2, 2, 0, 0, 0, 0]
A = 6
B = 2
C = 2
D = 0
E = 0
F = 0
G = 0
各ノード (葉を除く) には 2 つの子があります。唯一の例外は、リストが次の場合です。
1
/ \
2 3
/ \ /
4 5 6
ツリーを構築してから、各ノードで子の数を数えることは避けたいと思います。リストから子供の数を数える簡単な数学的方法が必要ですか?