5.1树的定义

树的定义

现实中有很多一对多的线性结构,我们需要研究这种一对多的数据结构——“树”

树的定义:是n个结点的有限集n=0时称为空树。在任意一颗非空树中:① 有且只有一个特定的称为根(root)的结点;②当n>1时,其余节点(非根结点)可分为m个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一棵树,并且称为根的子树,如下图所示:
在这里插入图片描述

对于上图的树来说,结点b、d、e组成了根结点的子树T1;c、f组成了根节点的子树T2。而子树T1和T2本身也是一颗树,对于树T1来说,b结点是其根节点。
在这里插入图片描述 在这里插入图片描述

需要注意的是:

  • n>0时,根结点只有一个,不可能存在多个根结点

  • 子树个数m>0时,子树的个数没有限制,但是子树不可能互相相交, 下图的结构就不符合树的定义,因为有相交的子树。
    在这里插入图片描述

1.结点的分类

某个结点拥有的子树的个数称为结点的读度为0的结点称为叶子结点;度不为0的结点称为非终端结点或分支结点。除根结点之外,分支节点也成为内部节点

树的度是树内各结点度的最大值。

例如下图的树:
在这里插入图片描述

这棵树的结点为树内各节点度的最大值,即3.

2.节点间的关系

节点之间存在如下关系:

  • 结点的子树的根称为该节点孩子,相应地,该节点称为孩子的双亲。
  • 同一双亲的孩子之间互称兄弟。
  • 结点的祖先是从根到该节点所经分支上的所有结点,以某结点为根的子树中任一节点都称为该节点的子孙。

例如下图的树:
在这里插入图片描述

3.树的其他相关概念

①结点的层次

  • 结点的层次从根开始定义起,根为第一层,根的孩子为第二层。若某结点在第l层,其子树就在第l+1层。
  • 双亲在同一层的结点互为堂兄弟
  • 树中的结点最大层次称为树的深度或高度
    在这里插入图片描述

②左序树和无序树

  • 如果树中结点看成从左往右有次序,不能互换的,称为有序树。
  • 树中结点左右顺序可以互换,称为无序树。

③森林:m棵互不相交的树的集合称为森林。

如上图的子树T1和T2其实就是森林。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值