• 数据结构(十三)树


    树的概念:

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

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

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

         

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

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

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

    二叉树的存储关系

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

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

    二叉树的遍历:

                            先序遍历 : 根左右

                            中序遍历        左根右

                            后序遍历           左右根

  • 相关阅读:
    Spring Boot 自定义starter
    【C++】数组操作
    如何从报表控件FastReport .NET中连接到 PostgreSQL 数据库?
    设计模式-单例模式
    nginx+lua实现文件上传和下载功能
    docker(5)-数据卷
    人工智能在汽车业应用的五项挑战
    模拟前端ADC芯片LH001-91,用于开发心电、脑电医疗设备
    项目管理如何有效进行?看这篇就够了
    市场整改篇之应用宝报告
  • 原文地址:https://blog.csdn.net/zrykk99/article/details/126158479