• 第四章 二叉树


    一、树的基本术语

    度:子树的个数

    树的度:树中结点最大的度

    根节点:一棵树可以只有一个节点

    叶子结点:度为0的结点,也称为终端结点

    分支结点:度不为0的结点,也称为非叶子节点或非终端结点

    层数:根节点在第一层,根节点的子节点在第2层,以此类推

    深度从根节点开始自顶向下逐层累加的

    高度从叶结点开始自底向上逐层累加的

    有序树:树中任意节点的子节点之间有顺序关系

    无序树:树中任意节点的子节点之间无顺序关系

    树中两个结点之间的

    路径:由这两个结点之间所经过的结点序列构成

    路径长度:路径上所经过的边的个数

    树的家族关系

    孩子:节点的子树

    双亲:节点是子树的双亲

    兄弟:同一个双亲的孩子之间称为兄弟

    堂兄弟:双亲在同一层的节点互为堂兄弟

    祖先:从根到此节点所经分支上的所有节点称为此节点的祖先

    子孙:以某节点为根的子树中的任一节点都称为此节点的子孙

    二、基本的二叉树

    1、满二叉树

            除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。

    2、完全二叉树

            一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

    满二叉树肯定是完全二叉树,而完全二叉树不一定是满二叉树。

    三、二叉树的存储结构

    1、顺序存储

    左孩子的地址是父母节点地址的两倍。

    2、链式存储

    四、二叉树的基本性质

    1、树中的结点数等于所有结点的度数加1

            树中的结点总数为n,则n=分支数+1

    2、非空二叉树上的叶子结点数等于度为2的结点数加1

            即n0=n2 + 1。结点总数n= n0 + n1 + n2

    3、结点i的左孩子编号为2i(前提:完全二叉树)

    4、非空二叉树上第k层上至多有2^{k-1}个结点(k≥1)

    5、高度为h的二叉树至多有2^{h}-1个结点(h≥1)

    6、具有n个(n>0)结点的完全二叉树的高度为[ \log_{2}n]+1

    二叉树的遍历

    先序遍历:根左右

    中序遍历:左根右

    后序遍历:左右根

    层序遍历:从根开始,自上而下,自左向右,一层一层遍历

  • 相关阅读:
    阿里P8大能倾力编撰的“Java 进阶面试手册”,助力跳槽外包毕业生秋招收获大厂offer
    数据结构-栈和队列(1)
    js-map方法中调用服务器接口
    C语言-杨辉三角的三种解法-简单易懂篇
    Linux学习之:基础IO与文件
    面试题:线程池灵魂8连问,你挡的住吗?
    盲水印添加,获取接口
    MySQL基本概念与基本指令
    git回退到某个提交
    基于去噪自编码器的故障隔离与识别方法
  • 原文地址:https://blog.csdn.net/isxhye/article/details/126292350