目录
一、树结构相关术语
节点Node:组成树的基本部分。每个节点具有名称,或“键值”,节点还可以保存额外的数据项,数据项根据不同的应用而变。
边Edge:边是组成树的另一个基本部分。
- 每条边恰好连接两个节点,表示节点之间具有关联,边具有出入方向。
- 每个节点(除根节点)恰有一条来自另一节点的入边。
- 每个节点可以有多条连接到其它节点的出边。
根Root:树中唯一一个没有入边的节点,
路径Path:由边依次连接在一起的节点的有序列表。
子节点Children:入边均来自于同一节点的若干节点,称为这个节点的子节点。
父节点Parent:一个节点是其所有出边所连接的节点的父节点。
兄弟节点Sibling:具有同一个父节点的节点之间称为兄弟节点。
子树Subtree:一个节点和其所有子节点,以及相关边的集合。
叶节点Leaf:没有子节点的节点称为叶节点。
层级eLevel:从根节点开始到达下一个节点的路径,所包含的边的数量,称为这个节点的层级。图中D的层级为2,根节点的层级为0.
高度:树中所有节点的最大层级为树的高度。图中树的高度为2.
二、树的定义1
树是由若干节点,以及两两连接节点的边组成,并有如下性质:
其中一个节点被称为根。
每个节点n(除根节点),都恰连接一条来自节点p的边,p是n的父节点;每个节点从根节点的路径是唯一的。
如果每个节点最多有两个子节点,这样的树称为“二叉树”。
三、树的定义2(递归定义)
树是:
- 空集
- 或者由根节点或者0个或多个子树构成(其中子树)也是树,每个子树的根到根节点具有边相连。