树的定义
划重点
1、n>0时,根节点是唯一的,不可能存在多个根节点(不能和平常的大树混淆)
2、m>0时,子树的个数没有限制,但它们一定是互不相交的
eg.下图的就不符合树的定义:
结点的分类
树的结点包含一个数据元素及若干指向其子树的分支
结点拥有的子树数称为结点的度
度为 0 的结点称为叶节点(终端结点)
度不为 0 的结点称为非终端节点(分支结点)
除根节点之外,分支结点也称为内部节点
树的度是树内各结点的度的最大值
eg.这棵树结点的度的最大值是结点 D 的度,为 3 ,所以树的度为 3
结点间的关系
结点的子树的根称为该结点的孩子
该结点称为孩子的双亲
同一个双亲的孩子之间互称兄弟
结点祖先是从根到该结点所经分支上的所有结点
以某结点为根的子树中的任一结点都称为该结点的子孙
树的其他相关概念
结点的层次从根开始定义起,根为第一层,根的孩子为第二层
双亲在同一层的结点互为堂兄弟
树中结点的最大层次称为树的深度(高度)
有序树:将树中结点的各子树看成从左至右是有次序的,不能互换
相反就是 无序树
森林
m(m ≥ 0)颗互不相交的树的集合
对于树中每个结点而言,其子树的集合即为森林
对比 线性表 和 树 的结构