- 树是 n(n≥0)个结点的有限集合 T。
- 当 n=0 时,称为空树;
- 当 n>0 时,该集合满足如下条件:①其中必有一个称为根(root)的特定结点,它没有直接前驱,但有零个或多个直接后继。②其余 n-1 个结点可以划分成 m(m≥0)个互不相交的有限集 T1,T2,T3,…,Tm,其中Ti又是一棵树,称为根的子树。每棵子树的根结点有且仅有一个直接前驱,但有零个或多个直接后继。
下图给出了一棵树的逻辑结构图示,它如同一棵倒长的树。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212318362.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212855495.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTc2NTEyOA==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212907526.png)
- 结点:包括一个数据元素及若干指向其他结点的分支信息。
- 结点的度:一个结点的子树个数称为此结点的度。
- 叶结点:度为 0 的结点,即无后继的结点,也称为终端结点。
- 分支结点:度不为 0 的结点,也称为非终端结点。
- 结点的层次:从根结点开始定义,根结点的层次为 1,根的直接后继的层次为 2,依此类推。
- 结点的层序编号:将树中的结点按从上层到下层、同层从左到右的次序排成一个线性序列,依次给它们编以连续的自然数。
- 树的度:树中所有结点的度的最大值。
- 树的高度(深度):树中所有结点的层次的最大值。
- 有序树:在树 T 中,如果各子树 Ti之间是有先后次序的,则称为有序树。
- 森林:m(m≥0)棵互不相交的树的集合。将一棵非空树的根结点删去,树就变成一个森林;反之,给森林增加一个统一的根结点,森林就变成一棵树。
- 同构:对两棵树,通过对结点适当地重命名,就可以使两棵树完全相等(结点对应相等,对应结点的相关关系也相等),则称这两棵树同构。
我们常常借助人类家族树的术语,以便于直观理解结点间的层次关系。
- 孩子结点:一个结点的直接后继称为该结点的孩子结点。
- 双亲结点:一个结点的直接前驱称为该结点的双亲结点。
- 兄弟结点:同一双亲结点的孩子结点之间互称兄弟结点。
- 堂兄弟:父亲是兄弟关系或堂兄关系的结点称为堂兄弟结点。
- 祖先结点:一个结点的祖先结点是指从根结点到该结点的路径上的所有结点。
- 子孙结点:一个结点的直接后继和间接后继称为该结点的子孙结点。
- 前辈:层号比该结点小的结点,都称为该结点的前辈。
- 后辈:层号比该结点大的结点,都称为该结点的后辈。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323215117652.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTc2NTEyOA==,size_16,color_FFFFFF,t_70)