• 第四章 二叉树


    一、树的基本术语

    度:子树的个数

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

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

    叶子结点:度为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

    二叉树的遍历

    先序遍历:根左右

    中序遍历:左根右

    后序遍历:左右根

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

  • 相关阅读:
    4.3寸串口屏在智能炒菜机上应用分享
    Kubernetes HPA:基于 kafka_consumergroup_lag 指标实现 Consumer Pod 水平弹性伸缩
    Java中如何操作一个MySQL数据库呢?
    B+树索引(6)之MyISAM索引方案
    Flink DataStream 体系
    安卓:解决AndroidStudio导出Unity的Apk(APP)出现2个显示图标
    金仓数据库KingbaseES物理备份恢复最佳实践(数据恢复解决方案)
    Java web应用性能分析之【prometheus+Grafana监控springboot服务和服务器监控】
    【编程题】【Scratch二级】2022.09 小老鼠偷面包
    day16学习总结
  • 原文地址:https://blog.csdn.net/isxhye/article/details/126292350