已知4个带权节点其权值分别为2 3 8 7试以它们为叶子节点生成一颗哈弗曼树要求用图示写出该哈夫曼树的生成过程。
首先将权值从小到大排序,得到2, 3, 7, 8。
然后将权值最小的两个节点2和3合并,生成一个父节点,其权值为2+3=5。这样就得到了3个节点,分别是5,7和8。
接着将权值最小的两个节点5和7合并,生成一个父节点,其权值为5+7=12。这样就得到了2个节点,分别是12和8。
最后将权值最小的两个节点12和8合并,生成一个根节点,其权值为12+8=20。这样就得到了一颗哈夫曼树,如下图所示:
20
/ \
12 8
/ \
5 7
/ \
2 3
原文地址: https://www.cveoy.top/t/topic/fpns 著作权归作者所有。请勿转载和采集!