哈夫曼树是带权路径最小的一种特殊二叉树,所以也称最优二叉树。
在这里不讨论基本概念如如何计算路径等,而只着重于树的创建,具体过程让我们举例而言。

其基本的原理为:将所有节点一开始都视为森林,每次从森林中选取两个根节点权值最小的树合并为一棵新树,新树的根节点大小为两个子节点大小的和,并将这棵新树重新加入到森林中。
如此一来每一轮操作都可以简化为两个基本操作:合并两棵树、插入新树,直到森林中只剩下一棵树,即是哈夫曼树。

 以7个节点的权值分别为 1 3 7 9 12 18 25而言

创建的第一步:合并1、3,新增4

树------最优二叉树

创建的第二步:合并4、7,新增11

树------最优二叉树

创建的第三步:合并9、11,新增20

树------最优二叉树

创建的第四步:合并12、18,新增30

树------最优二叉树

创建的第五步:合并20、25,新增45

树------最优二叉树

合并最后两棵树,得到哈夫曼树

树------最优二叉树

转自https://blog.csdn.net/wang2332/article/details/72936686

 

相关文章:

  • 2021-08-14
  • 2021-10-08
  • 2021-12-16
  • 2021-04-18
  • 2019-11-23
  • 2021-12-08
  • 2022-12-23
猜你喜欢
  • 2021-04-02
  • 2021-12-21
  • 2021-07-14
相关资源
相似解决方案