数据结构——树的基本概念

                             数据结构——树的基本概念

  一、树的定义 

            1.  递归定义: 一个树(或树形)就是一个有限非空的结点集合T,其中:有一个特别标出的被称为该树(或树形)之根root(T)的结点;其余结点(根除外)被分成m>=0 个不相交的集合T1,T2,…,Tm,且T1,T2,…,Tm又都是树(或树形)。树(或树形)T1,T2,…,Tm被称作root(T)的子树(或子树形)。

            2.  非递归定义   树是包含n ( n ≥ 1 )个结点且满足如下条件的有限集合:
                                      a.存在一个唯一的结点v0,它没有前驱结点,称为树的根(或根结点);
                                      b.任何非根结点都有且仅有一个前驱结点,称为该结点的父结点;
                                      c.任何结点都可能有多个( n1)后继结点,称之为该结点的子结点;若某结点没有后继结点,则称之为叶结点。
                                      d.任一非根结点vk都有且仅有一条从v0到该结点的结点序列(或曰路径)v0 - v1 -…- vk,其中vi是(1<= i <=k)的子结点。

            3.树的特点:① 有一个总根。② 没有分枝相交。③ 树有层次。

 二、树的相关术语 

         1.度
一个结点的子结点的数目,称为该结点的度或者次数。一棵树的度为maxi=1,…, n D (i),其中n为树中结点总数,i指树中的第i个结点,D(i)表结点i的度。
        2.叶结点、分支结点
 度为0的结点被称为叶结点;度 > 0的结点被称为分支结点

        3.结点的层数
              树形T中结点的层数递归定义如下:⑴ root(T)层数为零;⑵ 其余结点的层数为其前驱结点的层数加1 .

        4.路径
             树形中结点间的连线被称为边。若树形T中存在结点序列vm - vm+1 - … - vm-k,1<=k<=T的最大层数,满足vi+1是vi(m<=i<=m+k-1)的子结点,则称此结点序列为vm到vmk的路径,该路径所经历的边数 k 被称为路径长度。
        5. 子孙结点、祖先结点
            一棵树中若存在结点vm到vn的路径,则称vn为vm的子孙结点,vm为vn的祖先结点。

        6.树的高度
                树的高度为maxi=1,…, n NL (i),其中n为树中结点总数,i指树中第i个结点,NL(i)之值为结点i的层数。 
                树的高度是指树中结点的最大层数。
7.树的表示


三.树的相关操作

         1、判树空:TREEEMPTY(T)
         2、求根:ROOT(T) 
         3、求树的深度:TREEDEPTH(T)
         4、求结点的brothers:同一双亲的孩子互称
         5、求结点的双亲:PARENT(T, e)
         6、求结点的孩子:CHILD(T, e, i)
         7、建立树:CREATE_TREE(T, T1 , T2 , … , Tm )
         8、遍历树:TRAVERSAL(T)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值