• 树和二叉树->基础知识


    树的表示方法

    1 一般表示法

    2 广义表表示法

     

    3 凹入表示法

     

    树的基本术语:

    树:n(n>=0)个结点的有限集

    结点:包含一个数据元素及若干指向其子树的分支

    结点的度:结点拥有的子树数成为结点的度

    叶子(也叫终端结点):度为0的结点

    非终端结点(也叫分支结点):度不为0的结点

    树的度:树内各结点的度的最大值

    孩子:结点的子树的根成为该结点的孩子

    双亲:若B结点是A结点的孩子,则A结点是B结点的双亲

    堂兄弟:其双亲在同一层的结点护卫堂兄弟

    结点的层次:从根开始定义起,根为第一层,根的孩子为第二层

    树的深度(也叫高度):树中结点的最大层次。

    有序树:子树有序的树

    无序树:不考虑子树的顺序

    森林:m(m>=0)棵互不相交的树的集合。

    二叉树定义

    在二叉树中,每个结点至多只有两颗子树,并且,二叉树的子树有左右之分,其次序不能颠倒。关于树的术语也都适用于二叉树

    完全二叉树定义

    一颗深度为k,除第k层外,其它各层的结点数(1~k-1)的结点数都达到最大个数,第k层有叶子结点,且叶子结点从左至右依次排布,这就是完全二叉树。

    满二叉树定义

    一颗深度为k且有2k-1个结点的二叉树成为满二叉树

    二叉树性质

    性质1 在二叉树的第i层上至多有2i-1个结点

    性质2 深度为k的二叉树至多有2k-1个结点, 用等比数列求和公式就可容易证明

    性质3 对任何一颗二叉树T,终端结点数n0和度为2的结点数n2的关系如下:

    n0=n2+1,在博客“内部排序->选择排序->树形选择排序”的附录1已经证明过。

    性质4 具有n个结点的完全二叉树的深度为[log2n]+1

    证明:假设深度为k, 根据性质2和完全二叉树的定义有

    2k-1 < n <= 2k-1

    性质5 对一颗有n个结点的完全二叉树,按层序编号,则对任一结点,都有:

    (1)   根结点除外的其它结点i的双亲为[i/2]

    (2)   结点i的左孩子结点为2*i,(2*i不超过树的结点个数的情况下)

    (3)   结点i的右孩子结点为2*i+1, (2*i+1不超过树的结点个数的情况下)

  • 相关阅读:
    [LeetCode] 1160. Find Words That Can Be Formed by Characters
    [LeetCode] 561. Array Partition I
    [LeetCode] 942. DI String Match
    [LeetCode] 852. Peak Index in a Mountain Array
    [LeetCode] 461. Hamming Distance
    [LeetCode] 617. Merge Two Binary Trees
    SSM项目实现连接两个mysql数据库
    springboot导入excel到mysql
    Mysql修改表备注, 列信息
    sql.xml where ids in的写法
  • 原文地址:https://www.cnblogs.com/aimmiao/p/9438678.html
Copyright © 2020-2023  润新知