对于一个具有 ( n ) 个结点的二叉树,如果度为2的结点数为 ( k_2 ),度为1的结点数为 ( k_1 ),叶子结点(度为0的结点)数为 ( k_0 ),则有以下关系:
[ n = k_2 + k_1 + k_0 ]
因为每个节点除了根节点外,都是某个节点的孩子(要么是左孩子,要么是右孩子)。所以,所有节点的孩子总数等于叶子节点数加上两倍的度为2的节点数,再加上度为1的节点的另一个孩子:
[ n - 1 = 2k_2 + k_1 ]
已知 ( n = 64 ) 和 ( k_1 = 13 ),我们可以通过上面的等式解出 ( k_0 ):
[ 64 - 1 = 2k_2 + 13 ] [ 63 = 2k_2 + 13 ] [ 50 = 2k_2 ] [ k_2 = 25 ]
现在我们知道度为2的节点数 ( k_2 ) 为25。使用第一个等式我们可以解出叶子节点数 ( k_0 ):
[ 64 = 25 + 13 + k_0 ] [ k_0 = 64 - 25 - 13 ] [ k_0 = 26 ]
所以,这棵二叉树的叶子结点数为26。