本文给出了对于《算法(第4版)》(以下简称原书或书)中的练习题 3.3.20 的一种解法。
◆ 要求
原书中的练习题 3.3.20 要求计算一棵大小为 N 且完美平衡的二叉查找树的内部路径长度,其中 N 为 2 的幂减 1。
◆ 解答
N 为 2 的幂减 1 的一颗完美平衡的二叉查找树是一棵满二叉树。在这样的二叉树中,共有 N+1 条外部路径(以空链接为终点),某条外部路径长度为 lg(N+1),因此这样的二叉树的
外部路径长度 = lg(N+1) * (N+1)
根据 二叉树 的性质可知,内部路径长度 = 外部路径长度 - 2*N,所以对应的
内部路径长度 = lg(N+1) * (N+1) - 2*N
◆ 最后
写作过程中,笔者参考了 [github] reneargento/algorithms-sedgewick-wayne 的说明。致作者 reneargento 。
标签:练习题,20,路径,3.3,长度,二叉树 From: https://www.cnblogs.com/green-cnblogs/p/18471637