算法(第4版)练习题 3.3.20 的一种解法
本文给出了对于《算法(第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 。
受限于作者的水平,读者如发现有任何错误或有疑问之处,请追加评论或发邮件联系 green-pi@qq.com。作者将在收到意见后的第一时间里予以回复。 本文来自博客园,作者:green-cnblogs,转载请注明原文链接:https://www.cnblogs.com/green-cnblogs/p/18471637 谢谢!