数据结构之树

树的定义

         树(Tree)是n(n>=0)个结点的有限集。n = 0时称为空树。

         在任意一颗非空树中都有以下特点:

              (1)有且只有一个特定的称为根(Root)的结点;

              (2)当 n > 1 时, 其余结点可分为 m(m > 0)个互不相交的有限集T1、T2、....、Tm,其中每个集合本身又是一颗树                            ,我们称之为根的子树(SubTree) 如图所示:

 

                                                           

               说明:A就是根结点,其余的元素都是它的儿子

                                                   

            子树T1和子树T2他们俩就是根结点A的子树

还有两点需要我要强调一下:

      1 n > 0 时根节点一定时唯一的,不可能存在多个根节点。

      2 m>0是,子树的个数没有限制,但它们一定是互不相交的。如下图两颗树就不符合树的定义:

                        

节点的分类

        树的节点包含一个数据元素及若干指向其子树的分支。

                             

         度(Degree):就是你这个节点又多少个子节点。例如图中根结点A的度为  2。如果度为0(就是没有子节点)的话,我们称                                      之为叶子节点(Leaf)或终端节点,度不为0的节点称为非终端节点或叫分支节点,还有就是除根节点                                          外,分支节点也叫内部节点。然后树的度指的是树内各节点树的最大值。上图中最大值的节点是D度,为                                      3,所以树的度也为3。

结点间的关系

                                                     

      子节点(Child):  结点的子树根称之为该结点的孩子结点。  例: A的子节点有B 、C

      父节点(Parent):结点的孩子结点称该结点为父结点,就是结点的直接上级,就是父结点,当然更专业一点叫双亲结                                                点。  例:B的节点是 A

     兄弟结点(Sibling):如果对应的结点之间是同一个父结点,那么我们就称之为兄弟结点。  例:B 和 C的父节点都是A所有                                             是兄弟节点

     结点的祖先:从根节点到该节点所经分支所有节点,称为该节点的祖先  例:H的祖先有 D、B、A

     子孙节点:以某节点为根的子树中的任一节点都称为该节点的子孙  例:B的子孙有D、G、H、I

树的其他相关概念

                                      

    节点层次(Level):从根节点开始,根为第一层,根的孩子节点在第二层。

    堂兄弟节点:如果其父结点在同一层的结点互为堂兄弟。例如:图中D、E、F 互为堂兄弟

    树的深度(Depth):树种结点的最大层次称为树的深度或高度 例:图种的树高度为 4

    有序树&无序树:如果树中结点的各个子树看成从左到右是有次序的,不能互换。那么这就是有序树反之为无序树

    森林(Forest):是m(m>=0)颗互不相交树的集合。对应树中每个结点而言,其子树的集合既为森林。

   

    本篇文章摘录自:大话数据结构  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值