给定一组数据{6,2,7,10,3,12}以它构造一棵哈夫曼树,则树高为 ,带权路径长度WPL的值为 。
时间: 2024-05-10 13:15:45 浏览: 268
首先需要根据给定的数据构造哈夫曼树,具体构造过程如下:
1. 将给定的数据按照权值大小从小到大进行排序,得到{2,3,6,7,10,12}。
2. 取出权值最小的两个节点2和3,构造一个新节点,权值为2+3=5,将其作为根节点的左子节点。
3. 将剩余的节点{6,7,10,12}按照权值大小从小到大进行排序,得到{6,7,10,12}。
4. 取出权值最小的两个节点6和7,构造一个新节点,权值为6+7=13,将其作为根节点的右子节点。
5. 将剩余的节点{10,12}按照权值大小从小到大进行排序,得到{10,12}。
6. 取出权值最小的两个节点10和12,构造一个新节点,权值为10+12=22,将其作为根节点的右子节点的右子节点。
7. 将剩余的节点{ }按照权值大小从小到大进行排序,得到{ }。
8. 取出权值最小的两个节点5和13,构造一个新节点,权值为5+13=18,将其作为根节点的右子节点的左子节点。
9. 将剩余的节点{ }按照权值大小从小到大进行排序,得到{ }。
10. 取出权值最小的两个节点18和22,构造一个新节点,权值为18+22=40,将其作为根节点的右子节点的左子节点的右子节点。
11. 将剩余的节点{ }按照权值大小从小到大进行排序,得到{ }。
12. 取出权值最小的两个节点40和5,构造一个新节点,权值为40+5=45,将其作为根节点的右子节点的左子节点的左子节点。
13. 构造完成后,得到以下哈夫曼树:
```
98
/ \
5 93
/ | \
18 40 22
/ \ |
5 13 10
```
树高为4,带权路径长度为:2×5+2×13+3×18+3×22+4×40+4×5=414。
因此,树高为4,带权路径长度WPL的值为414。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)