哈夫曼树-算法

一、霍夫曼树基本概念
哈夫曼树-算法_第1张图片
哈夫曼树-算法_第2张图片
路径:从树的一个结点到另外一个结点的分支构成这两个结点的路径
结点的长度:两节点之间路径的分支数
树的路径长度:从树根到每一个结点的长度之和,记做TL:
哈夫曼树-算法_第3张图片
结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树
—--------------------------------------------------------------------------------------------------
权:将树中结点赋给一个有着某种含义的值,称为这个结点的权
结点的带权路径:从根结点到该结点之间的路径长度,与该结点的乘积
树的带权路径长度:树的所有叶子结点带权路径之和
哈夫曼树-算法_第4张图片—--------------------------------------------------------------------------------------------------
哈夫曼树:最优二叉树树(带权路径长度最短的树),在度相同的前提下,相同算法称为哈夫曼算法
哈夫曼树-算法_第5张图片
二、霍夫曼树的构造算法:
贪心算法:构造哈夫曼树首先选择权值小的叶子结点
哈夫曼树-算法_第6张图片
哈夫曼树-算法_第7张图片
总结:
1、在哈夫曼算法中,初始时有n棵二叉树,需要经过N-1次合并最终形成哈夫曼树
2、经过n-1次合并产生n-1个新结点,且这n-1个新结点都是具有两个孩子的分支结点
三、霍夫曼树的实践
哈夫曼树-算法_第8张图片

你可能感兴趣的:(数据结构与算法,算法,数据结构)