46、数据结构与算法Python:树结构相关术语

树结构相关术语

节点Node:组成树的基本部分

每个节点具有名称,或“键值”,节点还可以保存额外数据项,数据项根据不同的应用而变

边Edge:边是组成树的另一个基本部分

每条边恰好连接两个节点,表示节点之间具有关联,边具有出入方向;每个节点(除根节点)恰有一条来自另一节点的入边;每个节点可以有多条连到其它节点的出边。

根Root:树中唯一一个没有入边的节点

路径Path:由边依次连接在一起的节点的有序列表

如:HTML->BODY->UL->LI,是一条路径
*

子节点Children:入边均来自于同一个节点的若干节点, 称为这个节点的子节点

父节点Parent:一个节点是其所有出边所连接节点的父节点

兄弟节点Sibling:具有同一个父节点的节点之间称为兄弟节点

子树Subtree:一个节点和其所有子孙节点, 以及相关边的集合

叶节点Leaf:没有子节点的节点称为叶节点

层级Level:从根节点开始到达一个节点的路径,所包含的边的数量, 称为这个节点的层级。

如D的层级为2,根节点的层级为0

高度:树中所有节点的最大层级称为树的高度

如右图树的高度为2
*

树的定义1

树由若干节点, 以及两两连接节点的边组成, 并有如下性质

其中一个节点被设定为根;每个节点n(除根节点),都恰连接一条来自节点p的边, p是n的父节点;每个节点从根开始的路径是唯一的,如果每个节点最多有两个子节点,这样的树称为“二叉树”
*

树的定义2(递归定义)

树是:

空集;或者由根节点及0或多个子树构成(其中子树也是树),每个子树的根到根节点具有边相连。
*

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: