在学习各种树的算法和应用时,我们先来学习树的相关概念。
✨1.1 结点的度在树中,一个节点的度表示该节点拥有的子树的个数,也就是说,如果一个节点有几个子树,那么这个节点就有几个度。
我们来看看图片就明白了。
上图中,节点A有两个子树,分别是B和C,所以A的度是2,B的度有三个子树,所以B的度是3,同理,C的度是1,D的度是0。
✨1.2 叶子/终端结点叶节点是指度数为0的节点,也称为终端节点。
让我们看一个如下的例子:

上图中,红色节点D、E、F、G都是叶子节点/末端节点,因为它们都没有子树,度为0。
✨1.3 非终端结点/分支结点非终端节点是指度数不为零的节点,也称为分支节点。
我们看图,理解如下:
在上图中,红色节点A、B和C都是分支节点,因为它们的度都大于0。
✨1.4 分支分支是指父子节点之前的连接。二叉树最多有两个分支,这两个分支是父节点有一个分支分别带左子和右子。看图理解。以二叉树为例。
在上图中,所有分支都被标识出来。
✨1.5 路径路径是指由从树中的任何节点到另一个节点的分支组成的链接。
上图中标注了两条路径,分别是红色: A-B-D,紫色: G-C-F
✨1.6 路径长度路径长度是指路径上的分支数量。
通常存在与找到两个节点之前的路径长度相关的问题。
✨1.7 树的路径长度从树根到每个节点的路径长度之和。
上图中,从根节点A到其他节点B、C、D、E、F、G的路径长度分别为1、1、2、2、2、2,所以树的总长度为1+1+2+2+2+2 = 10。
我们再举一个例子,如下:
上图中,从根节点A到其他节点B、C、D的路径长度分别为1、1、2,所以树的路径长度为4。
✨1.8 树的带权路径长度树的加权路径长度是指树中所有叶节点的加权路径长度之和,其通过以下公式计算:
其中,
是叶节点k的权重,
是叶节点L的路径长度..
我们来看一个例子,如下:
上图中,叶节点分别为D、E、F、G,权重分别为2、3、3、4,路径长度为2,则树的加权路径长度为:








