霍夫曼树又称为哈夫曼树或最优二叉树,是一类带权路径长度最短的树。路径是从树中一个结点到另一个结点之间的通路,该通路上分支数目称为路径长度。树的路径长度是从树根到每一个叶子之间的路径长度之和。结点的带权路径长度为从该结点到树根之间的路径长度与该结点权值的乘积。

树的带权路径长度WPL为树中所有叶子结点的带权路径长度之和,记为:

#yyds干货盘点# 霍夫曼树_二叉树

其中,n为带权叶子结点数目,#yyds干货盘点# 霍夫曼树_结点_02为叶子结点的权值,#yyds干货盘点# 霍夫曼树_二叉树_03为叶子结点到根的路径长度。

最优二叉树是指权值为w1,w2, ...,wn的n个叶子结点的二叉树中带权路径长度最小的二叉树。例如,在下图所示的具有4个叶子结点的二叉树中,图(b)所示二叉树的带权路径长度最小。

#yyds干货盘点# 霍夫曼树_权值_04

#yyds干货盘点# 霍夫曼树_二叉树_05

#yyds干货盘点# 霍夫曼树_权值_06