已知三叉树 T 中 6 个叶结点的权分别是 2,3,4,5,6,7,T 的带权(外部)路径长度最小是
A. 27
B. 46
C. 54
D. 56
计算虚结点数量,进行哈夫曼树构建
m表示节点个数
k表示K叉树
若(m-1)%(k-1) = 0说明不需要虚段,否则需要(K-1)-(m-1)%(k-1)个虚段。
本题m=6,k=3。
则(6-1)%(3-1)=1
需要虚段 2 - 1 = 1添加的虚段可视为0。然后按照优先取最小的三个的原则,构造三叉树。
结果为5+14+27=46.
鹤归 回复 2375725034: 优先取最小的三个,你为什么一开始只取了2和3,不取4嘛?
简凡 回复 2375725034: 虚段0
哈夫曼3叉树
xiaoqin 回复 Akira37: 算的答案是54啊 为什么是46啊
参考答案:B
答案解析:利用...
用户登录可进行刷题及查看答案
答案解析:利用三叉树的 6 个叶子结点的权构建最小带权生成树,最小的带权路径长度为(2 + 3) * 3 + (4 + 5) * 2 + (6 + 7) * 1 = 46。
方法一:模拟
T 的带权(外部)路径长度最小是 (2+3)×3+(4+5)×2+(6+7)×1=46 。
本题选B。
方法二:贪心
下面提供秒题解法。
题目要求“最小”,四个选项中A选项最小,直接选A?
如果是这样你就错了, (2+3+4+5+6+7)×1=27 ,A选项表示一棵六叉树。
与 T 为三叉树矛盾,所以我们只能在剩余三个选项中选最小值。
登录后提交答案