一棵满二叉树的内路径长度是指所有内部结点深度之和。类似地,外路径长度是指所有叶结点的深度之和。考虑一个有n个内部结点的满二叉树,其内路径长度为i,外路径长度为e。证明e = i + 2n.
证明:先考虑不同深度节点的内部结点和叶结点数量,不妨设树最大深度为d,有:
depth | inner_node | leaf_node |
---|---|---|
0 | ||
1 | ||
2 | ||
... | ... | ... |
d |
不难看出每层中的内部结点与叶结点数量和与上一层的内部节点数量有关,即:
内路径长度i,外路径长度e分别为各深度结点数乘以对应深度之和,即:
不难看出(因为,
,
数值上均为0,变换看着可能有点别扭):
因此