5.1树的定义

树的定义

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

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

对于上图的树来说,结点b、d、e组成了根结点的子树T1;c、f组成了根节点的子树T2。而子树T1和T2本身也是一颗树,对于树T1来说,b结点是其根节点。
5.1树的定义5.1树的定义

需要注意的是:

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

  • 子树个数m>0时,子树的个数没有限制,但是子树不可能互相相交, 下图的结构就不符合树的定义,因为有相交的子树。
    5.1树的定义

1.结点的分类

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

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

例如下图的树:
5.1树的定义

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

2.节点间的关系

节点之间存在如下关系:

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

例如下图的树:
5.1树的定义

3.树的其他相关概念

①结点的层次

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

②左序树和无序树

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

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

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

上一篇:1022 D进制的A+B


下一篇:1113 模拟赛总结