今天看到一些有关树的知识,又想起了哈夫曼树,但是又忘了具体的,真是让人惆怅。于是翻开《大话数据结构》这本书重温一遍,跟着作者重温哈夫曼树和哈夫曼编码。
哈夫曼树的定义:带权路径长度的 WPL 最小的二叉树称为哈夫曼树。
假设我们现在有 A B C D E ,权值分别为 5,15,40,30,10
什么是带权路径长度?我们先看两张图:
我们先看一下什么叫路径长度:从树的一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称作路径长度。
图一中根节点到结点D的路径长度为 4,二叉树的路径长度为 :
1 + 1 + 2 + 2 + 3 + 3 + 4 + 4 = 20 。