一、树的基本概念
树是数据元素之间具有层次关系的非线性结构,是由n个节点构成的有限集合,结点数为0的树叫空树。树必须满足以下条件。
- 有且只有一个被称为根的节点
- 2.其余节点可分为m个互不相交的有限集合,每个集合又构成一棵树,叫根节点子树。
与线性结构不同,树中的数据结构元素具有一对多的逻辑关系,除根节点以外,每个数据元素可以有多个后继但有且仅有一个前驱,反映了数据元素之间的层次关系。树是递归定义的,节点是树的基本单位,若干个节点组成一棵树。
二、树的术语
术语 | 释义 |
---|---|
结点 | 树的结点就是构成树的数据元素,就是其他数据结构中存储的数据项,在树形表示法中用圆圈表示 |
结点的路径 | 从根结点到该结点所经过的结点的顺序排列 |
路径的长度 | 路径中包含的分支数 |
结点的度 | 结点拥有的字数的数目 |
数的度 | 所有结点的度的最大值 |
叶结点 | 叶结点是树中度为0的结点,也叫终端结点 |
分支结点 | 分支结点是树中度不为0的结点,也叫非终端结点 |
子结点 | 结点的子树的根节点,也叫孩子结点 |
父节点 | 具有子节点的结点叫孩子结点的父结点,也叫双亲结点 |
子孙结点 | 结点的子树中的任意结点 |
祖先结点 | 结点的路径中除自身之外的所有结点 |
兄弟结点 | 和结点具有同一父结点的结点 |
结点的层次 | 跟结点的层次为0,其他结点的层次是父节点的层次加1 |
树的深度 | 树中所有结点的层次树的最大值加1 |
有序树 | 树的各结点的所有子树具有次序关系,不可以改变位置 |
无序树 | 树的个节点的所有子树之间无次序关系,可以改变位置 |
森林 | 多个互不相交的树构成的集合。给森林加上一个根节点就变成一棵树,将树的根节点删除就变成森林 |