我有一个数字列表:
[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
每个节点(除了叶子)有两个孩子。唯一的例外是如果列表是偶数:
1
/ \
2 3
/ \ /
4 5 6
我想避免构建一棵树,然后计算每个节点的子节点数。必须有一种简单的数学方法来计算列表中的孩子数量吗?