zoukankan      html  css  js  c++  java
  • 树结点数

    树结点数

    0.概念

    树(tree)指每个结点只有一个前件(也称父结点)、有多个后件(也称子结点)的非线性结构。没有父结点的结点称为根结点,每棵树只能有一个根结点;没有子结点的结点称为叶子结点。树结构中,一个结点拥有子结点的个数称为该结点的度;所有结点中最大的度称为这棵树的度。

    1.结点数计算

    假设树度为 x 的结点数为 nx ,则一棵树可以表示为:

    x 0 1 2 3 ...
    nₓ n₀ n₁ n₂ n₃ ...

    根据树的形成过程,每增加一个度为 x 的结点,总结点数将增加 x 个。所以:

    [Sum = sum n_i = 1 + sum i imes n_i ]

    其中 Sum 表示树的总节点数。

    同理,每增加一个度为 x 的结点,叶子节点数将增加 x-1 个。所以:

    [Sum' = n_0 = 1 + sum n_i(i-1) = 1 + sum_{i=2} n_i(i-1) ]

    其中 Sum' 表示树的叶子结点数。

    2.二叉树特例

    二叉树度小于3的树。即每个结点最多有两个子结点。有如下性质:

    • 第k层上最多有 2k-1 个结点。
    • k层二叉树最多有 2k-1 个结点。
    • 叶子结点总比度为2的结点多一个。

      [Sum' = 1 + sum_{i=2} n_i(i-1) = 1 + n_2 ]

    • 具有n个结点的二叉数深度最少为 [log2(n+1)]+1 ,中括号表示取整。
  • 相关阅读:
    用Telnet发送HTTP请求
    chrome失去响应问题
    windows应用技巧
    转载:Linux 的系统服务及其配置(略有修改)
    poj2249 排列组合
    poj1068 模拟
    并查集———吉林省赛(六)G题
    著名医生的药方(深搜)
    源代码(C#)
    (课程设计)简单总结
  • 原文地址:https://www.cnblogs.com/gznest/p/12640719.html
Copyright © 2011-2022 走看看