算法(第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 。

posted @ 2024-10-17 11:22  green-cnblogs  阅读(6)  评论(0编辑  收藏  举报