文章目录
树的基本概念
1. 什么是树?
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:
- 有且仅有一个特定的称为根(root)的结点
- 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm, 其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)
2. 树的构成
2.1 节点
节点分类 | 特点 | 说明 |
---|---|---|
根(root) | 没有父节点只有子节点的节点 | |
叶子(leaf)/终端节点 | 没有子节点或者子节点是空的节点 | 叶子结点度为0 |
分支节点/非终端节点 | 分支节点包含根节点 |
双亲节点或父节点(Parent): 若一个节点含有子节点,则这个节点称为其子节点的父节点
孩子节点或子节点(Child): 一个节点含有的子树的根节点称为该节点的子节点
兄弟节点(Sibling): 具有相同父节点的节点互称为兄弟节点
节点的祖先: 从根到该节点所经分支上的所有节点
节点的子孙: 以某节点为根的子树中任一节点都称为该节点的子孙
2.2 度
节点的度数: 节点孩子的个数
树的度: 树中节点的度最大值。
2.3 层次
层次: 从根开始定义起,根为第1层,根的子节点为第2层,以此类推
有些地方会把根算为第0层
2.4 深度与高度
维基百科
节点的高度:节点到最远叶子节点的最长路径上边的数量。叶子节点高度为0。
节点的深度:节点到根节点的路径上边的数量。所有根节点深度为0。
树的高度:树的高度等于根节点的高度,等于最远叶子节点的深度。
树的深度:树的深度等于树的高度。
树的宽度:两个最长路径的叶子节点之间节点数。
在做题时,注意看对树的高度和深度的定义,有的是按照边的数量,有的是按照节点的数量计算
3. 树的分类
按照子节点的数量分为二叉树和多叉树
分类 | 概念 | <
---|