树(Tree)
简介树是计算机中非常重要的一种数据结构,使用树这种数据结构可以描述显示生活中很多事物,例如家谱图、单位的组织架构等等
4.7.1、树的定义
树是计算机中非常重要的一种数据结构,使用树这种数据结构可以描述显示生活中很多事物,例如家谱图、单位的组织架构等等
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。把它叫做树是因为它开起来想一个倒挂的树,也就是它的根朝上,而叶朝下。
特点:
- 每个结点有零个或多个子节点
- 没有父结点的节点称为根节点
- 每一个非根节点只有一个父结点
- 每个结点及其后代结点整体上可以看做一棵树,称为当前结点的父结点的一个子树
4.7.2、树的相关概念
- 结点的度:一个结点含有的子树个数称为该结点的度
- 叶结点:度为0的结点称为叶结点,也可以叫做终端结点
- 分支结点:度不为0的结点称为分支结点,也可以叫做非终端结点
- 结点的层次:从根节点开始,根节点的层次为1,根节点的后继层次为2,以此类推
- 结点的层序编号:将树中的节点按照从上往下,同一层从左到右的次序排成一个线性的序列,把它们编成连续的自然数
- 树的度:树中所有结点的度的最大值
- 树的高度(深度):树中结点的最大层次
- 森林:m(m>=0)个不相交的树的集合,将一颗非空树的根节点删除,树就变成了一个森林,给森林添加一个统一的根节点,森林就变成一棵树
- 孩子结点:一个结点的直接后继结点称为该结点的孩子结点
- 双亲结点(父结点):一个结点的直接前驱称为该结点的双亲结点
- 兄弟结点:同一双亲结点的孩子结点互称为兄弟结点