文章目录
1 树
树在数据结构中属于一种非线性结构,每个元素可以有多个前驱和后继,它有如下定义:
树是n(n≥0)个元素的集合:
- n = 0 时,成为空树
- 树只有一个特殊的没有前驱的元素,称为数的根Root
- 树中除了根节点外,其余元素只能有一个前驱,可以有零个或者多个后继
递归定义:
- 树T是n(n≥0)个元素的集合。n = 0 时,成为空树
- 有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1,T2,…,Tm,而每一个集合都是树,成为T的子树Subtree
- 子树也有自己的根
2 树的概念
树是一个中非常抽象的概念,下面主要介绍树中各种名词的含义:
名称 | 含义 |
---|---|
节点 | 数中的数据元素 |
数的度 | 树内各节点的度的最大值 |
节点的度(degree) | 节点拥有的子树的数目成为度,记作d(v) |
叶子节点 | 节点的度数为0,成为叶子节点leaf、终端节点、末端节点 |
分支节点 | 节点度数不为0,成为非终端节点或分支节点 |
分支 | 节点之间的关系 |
内部节点 | 除根节点外的分支节点,当然也不包括叶子节点 |
孩子(儿子Child)节点 | 节点的子树的根节点成为该节点的孩子 |
双亲(父Parent)节点 | 一个节点是它各个树的根节点的双亲 |
兄弟(Sibling)节点 | 具有相同双亲节点的节点 |
祖先节点 | 从根节点到该节点所经分支上所有的节点。 |
子孙节点 | 节点的所有子树上的节点都成为该节点的子孙。 |
节点的层次(Level) | 根节点为第一层&# |