数据结构 – 树数据结构中的节点总数?

我有一个树数据结构,L级深,每个节点都有N个节点.我想要计算树中总共的节点数.要做到这一点(我想),我需要知道有几个子节点的百分比.

叶节点与非叶节点之比的正确项是什么?

在三个中计算总数节点的公式是什么?

更新有人提到分支因素在一个答案,但它然后消失了.我认为这是我正在寻找的这个词.那么公式是否应该考虑到分支因子呢?

更新我应该对假设的数据结构进行估计,而不是确切的数字!

最佳答案
好的,每个节点都有大约N个子节点,树的L级深.

With 1 level, the tree has 1 node.
With 2 levels, the tree has 1 + N nodes.
With 3 levels, the tree has 1 + N + N^2 nodes.
With L levels, the tree has 1 + N + N^2 + ... + N^(L-1) nodes.

节点总数为(N ^ L-1)/(N-1).

好的,只是一个小例子,为什么,它是指数级的:

                    [NODE]
                      |
                     /|\
                    / | \
                   /  |  \
                  /   |   \
            [NODE]  [NODE] [NODE]
              |
             /|\
            / | \

转载注明原文:数据结构 – 树数据结构中的节点总数? - 代码日志