• 数据结构(十三)树


    树的概念:

            逻辑关系:树形关系,一对多

       将最上层的第一个数据称之为根节点,

    如果一个结点有直接后继  ,将这些后继称之为子结点,这个结点称之为父节点

         

    度数:一个结点子结点的个数

                    一棵树的度数是指该数中结点的最大度数

    度数为0的节点称之为终端结点或叶子结点,度数不为0的结点称之为分支结点

    边数:

           上层到下层(编号只差一个)称为一条边        1-2

    层数(高度/深度):

            结点的层数等于父节点的层数加一

            根结点的层数为1

            书中结点最大值称为数的高度或者深度

    二叉树

    如果树中每一个节点的子节点最多有两个,那么称这个数为二叉树

    二叉树于普通树不同,二叉树严格区分左孩子和右孩子

    满二叉树:深度为k时有2的k次方-1      

    完全二叉树:只有最下面两层有度小于2的节点

                            且最下面一层的叶子节点集中在最左边的节点

    二叉树第i层(i>=1)节点最多为2的(i-1)次方;

    深度为k(k>=1)最多有(2的k次方 -1)

    对于任意一个二叉树T,如果其终端节点树n,度为2的节点数为m

                                    n = m+1

    具有n个节点的完全二叉树其深度为log2(n)+1

    对一颗有n个节点的完全二叉树的节点按层序编号,对任一节点

    二叉树的存储关系

    因为无法保证二叉树是一个满二叉树或完全二叉树,如果采用顺序存储,需要将不存在的节点预留位置,故不采用顺序存储

    链式存储是高明的选择,一个数据域和两个指针域构成了一个节点的结构体。

    二叉树的遍历:

                            先序遍历 : 根左右

                            中序遍历        左根右

                            后序遍历           左右根

  • 相关阅读:
    2022.9.1 SAP RFC
    短信验证码实现(阿里云)
    C# Socket通信从入门到精通(10)——如何检测两台电脑之间的网络是否通畅
    SIMULIA现实仿真解决方案 SIMULIA仿真模拟应用程序
    java冒泡排序
    SpringMVC学习(1)
    【数据处理】如何在图片中随机采样
    [自动化]浅聊ansible的幂等
    I/O设备的分配与回收
    前端一面经典react面试题(边面边更)
  • 原文地址:https://blog.csdn.net/zrykk99/article/details/126158479