查看原文:http://www.wyblog.cn/2016/11/16/%e5%93%88%e5%a4%ab%e6%9b%bc%e6%a0%91%e7%9a%84%e6%80%bb%e7%bb%93/百科的定义:
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
根据以上可以知道,这个权值是起到了关键的作用,权值分布不同,构造出的最优二叉树也是不同的。 带权路径长度就是指的所有叶节点的权值乘以路径长度的总和。 当不考虑权值,或者说所有节点权值都一样的时候,我们任意构造二叉树,概率上来说其路径之和都是一样的。 当权值不同,我们就考虑,让权值大的(也就是发生概率越大的)越靠近根节点,能够更快地被检测到,权值小的放地越远离根节点,因为它被访问的概率越小。 举一个例子,比如有一个成绩单:
如果不考虑第二行比例,那么我们构造一个二叉判定树就可以是:
如果考虑第二行比例,即权值,二叉树就可以是:
哈夫曼树的总结
最新推荐文章于 2025-03-13 14:45:57 发布