哈夫曼树简介
哈夫曼树:
定义:
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。(摘自:百度百科)
基本术语:
路径长度:从根节点到某节点通路上分支的数目,若根节点层数为1,某节点层数为L,则路径长度为L-1
节点的带权路径长度:
某个节点的路径长度乘以该节点的权值
树的带权路径长度(WPL):
所有叶子节点的带权路径长度的总和。
构造:
三个步骤:
1、将所有权值构造一个森林,即每棵树只有一个根节点
2、取两个最小的树,分别作为左右节点,根节点为带权路径和,并删除这两棵树,加入新树
3、重复步骤,直到只剩一棵树,即为最优树

浙公网安备 33010602011771号