树的基本定义:
树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
- 每个节点有零个或多个子节点;
- 没有父节点的节点称为根节点;
- 每一个非根节点有且只有一个父节点;
- 除了根节点外,每个子节点可以分为多个不相交的子树;
树的相关术语:
节点的度:
一个节点含有的子树的个数称为该节点的度;
叶节点:
度为0的节点称为叶节点,也可以叫做终端节点
分支节点:
度不为0的节点称为分支节点,也可以叫做非终端节点,显然除了叶子节点之外的节点都为分支节点。
节点的层次:
节点的层次为从节点到根节点的路径中边的条数,并且认为根节点的层次为0,因为根节点到自身的路径中边的条数为0
树的度:
树中所有节点的度的最大值
树的高度(深度):
结点的深度指从根节点(度为1)自顶向下逐层累加至该结点时的深度。树的深度是树中深度最大的结点的深度。
如下图,该树的深度为5