学习时间
2021-01-21
学习内容
树
树形结构是元素之间具有分支,且具有层次关系的结构,其分支、分层的特征类似于自然界中的树。
树的定义
树是n(n>=0)个结点的有限集合
分以下两种情况:
- 在n=0时,称为空树
- 在n>=1时,有且仅有一个“根”结点,根节点没有前驱结点,有0个或者多个后继节点。
其余的结点可以划分为m个互不相交的有限集,这些有限集又是一棵棵树,称为子树。每一棵子树的根结点有且只有一个前驱节点,同时有0个或者多个后继结点。
树的表示方法
- 树形图表示方法
- 嵌套集合表示法
- 广义表表示法
- 凹入表示法
树的基本术语
- 结点:包含一个数据元素及若干指向其子树的分支
- 结点的度:结点拥有的子树的个数
- 树的度:树中结点的度的最大值
- 叶子结点:度为0的节点,也就是说没有后继节点的结点就是叶子节点
- 内部结点:度不为0的结点就是内部结点
- 孩子结点:结点的子树的根(直接后继)称为这个结点的孩子结点
- 双亲结点:结点是子树的根的双亲,也就是说结点是其孩子的双亲
- 兄弟结点:同一双亲的孩子结点之间互成兄弟结点
- 堂兄弟:双亲是兄弟或者堂兄弟的结点之间互称堂兄弟结点
- 祖先结点: 结点的祖先结点是指从根结点到该结点的路径上所有的结点,也就是说像人类社会一样,任何一个双亲结点的双亲结点都是其祖先结点。
- 子孙结点:这个结点的子树的所有结点都是其子孙结点
- 结点的层次:从根开始。根为第一层,根的孩子结点为第二层,这样累计。
- 树的深度:结点层次的最大值称为树的深度
- 前辈:所有结点层次比它小的结点都是他的前辈
- 后辈:所有结点层次比它大的结点都是他的后辈
- 森林:m(m>=0)棵互不相交的树的集合称为森林。这里0棵树、1棵树、好多棵树都是一个森林。
任何一个非空的树删去根结点都是森林。任何一个森林,加上一个统一的结点都是一棵树 - 有序树和无序树:树中结点的各棵子树从左到右有序的话就是有序树,反之就是无序树。