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 ,中括号表示取整。
  • 相关阅读:
    网站加载速度优化的14个技巧
    op+3g
    Xmind 快捷键
    Resty 一款极简的restful轻量级的web框架
    linux磁盘限额配置:quota命令
    常用报表工具
    http://mirror2.openwrt.org/sources/
    op挂载摄像头
    supported platform
    OpenWrt Kernel Module Creation Howto
  • 原文地址:https://www.cnblogs.com/gznest/p/12640719.html
Copyright © 2011-2022 走看看