原始问题:
若以5,10,15,20,25,30,35,40,45,50作为叶子结点的权值构造一棵哈夫曼树,如其带权路径长度是多少
构造哈夫曼树的步骤如下:
- 将叶子结点按照权值从小到大进行排序。
- 选取权值最小的两个叶子结点作为新的父节点,权值为两个叶子结点的权值之和。
- 将新的父节点插入到排序后的叶子结点中的适当位置。
- 重复步骤2和步骤3,直到只剩下一个根节点。
根据上述步骤,我们可以构造出如下的哈夫曼树:
210
/ \
100 110
/ \ / \
45 55 65 45
/ \ / \ / \ / \
5 10 15 20 25 30计算带权路径长度(WPL)的方法是,将每个叶子结点的权值乘以其到根节点的路径长度,然后将所有叶子结点的带权路径长度相加。
根据上述哈夫曼树,计算带权路径长度如下:
WPL = (5 3) + (10 3) + (15 3) + (20 3) + (25 2) + (30 2) + (45 2) + (45 2) + (55 2) + (65 2) + (100 1) + (110 1) + (210 * 0)
WPL = 15 + 30 + 45 + 60 + 50 + 60 + 90 + 90 + 110 + 130 + 100 + 110 + 0
WPL = 950
所以,构造出的哈夫曼树的带权路径长度为950。
若以5,10,15,20,25,30,35,40,45,50作为叶子结点的权值构造一棵哈夫曼树,如其带权路径长度是多少
https://www.aiaiask.com/ask/45342.html
Prev:深度剖析:如何有效提升团队协作效率的关键策略与实践方法