• 数据结构(十三)树


    树的概念:

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

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

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

         

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

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

    度数为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个节点的完全二叉树的节点按层序编号,对任一节点

    二叉树的存储关系

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

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

    二叉树的遍历:

                            先序遍历 : 根左右

                            中序遍历        左根右

                            后序遍历           左右根

  • 相关阅读:
    ssm基于微信小程序的学习资料销售平台+ssm+uinapp+Mysql+计算机毕业设计
    如何快速收割小程序第一波红利?
    DQL查询语句之联表查询JoinON
    docker centos install
    Ubuntu离线或在线安装CMake
    TikTok整合谷歌搜索功能,探索新的流量入口
    Android --- 常见UI组件
    Windows下libmodbus 支持upd库的编译与Qt里的调用
    linux纯离线安装whl包,下载tensorboard
    MySQL [基础] 学习笔记
  • 原文地址:https://blog.csdn.net/zrykk99/article/details/126158479