美文网首页
数据结构_知识点_二叉树

数据结构_知识点_二叉树

作者: 个革马 | 来源:发表于2017-02-06 14:28 被阅读81次

    1. 二叉树

    (1) 可以为空,即n = 0
    (2) 左右有序,颠倒后是不同的树

    2.特殊二叉树

    (1)满二叉树(每一层结点都是满的)
    (2)完全二叉树(只有最后一层结点不是满的,但是结点从左排起的)
    (3)二叉排序树
    (4)二叉平衡树

    3.二叉树性质(会推导,记忆并能用于计算)

    (1) 非空二叉树上叶子结点数等于度为2的结点数加一,即n0 = n2 + 1


    推导过程:

    设度为0,1,2的结点个数分别为n0,n1,n2,结点总数n = n0 + n1 + n2
    由于每个结点的一个度便代表有一个孩子结点,所以 n = n1 + 2 × n2 + 1 </br>
    n0 + n1 + n2 = n1 + 2 × n2 + 1</br>
    化简得 n0 = n2 + 1


    (2)非空二叉树上第k层上至多有2k - 1个结点(k >= 1)


    推导过程:
    参考满二叉树,因为满二叉树是同样层次二叉树中结点最多的二叉树
    第一层,1个结点
    第二层,2个结点
    第三次,4个结点
    因此,可以理解为每次都是×2


    (3)高度为H的二叉树至多有 22H - 1 个结点(H >= 1)


    推导过程:
    从(2)可知,满二叉树每层的结点数为 2k - 1
    因而,H层的二叉树的结点总数是所有层的结点数之和
    用等比数列求和公式求解可得 22H - 1


    (4) 具有N个结点的完全二叉树的高度为 log2(N + 1)向上取整 或 log2N向下取整 + 1


    推导过程:
    从(3)可得逆推导可得


    (5)对完全而二叉树从上到下、从左到右的顺序依次编号则有以下关系

    1. 第 i 个结点(i 为偶数)的是第 i / 2个结点的左孩子
    2. 第 i 个结点(i 为奇数)的是第 (i - 1) / 2个结点的右孩子
    3. 第 i 个结点的左孩子是 2 × i,右孩子是 2 × i + 1
    4. 第 i 个结点深度为 log2i向下取整 + 1

    4. 二叉树存储方式

    1. 顺序存储结构
      从上到下,从左到右存储结点,当结点为空则占据一个位置。
    2. 链式存储结构
      每个结点有左右孩子指针域,分别指向左右孩子

    相关文章

      网友评论

          本文标题:数据结构_知识点_二叉树

          本文链接:https://www.haomeiwen.com/subject/jrmyittx.html