哈夫曼树构造/哈夫曼编码

(一)哈夫曼树——P189

    1.定义:带权路径长度(WPL)最小的二叉树称为哈夫曼树  WPL=树中所有叶子节点的带权路径长度之和  带权路径长度=从树根到任意节点的路径长度与该节点上权值的乘积

    2.构造:1)将这n个节点分别作为n课仅含一个结点的二叉树,构成森林F

        2)构造一个新节点,从F中选取两棵根节点权值最小的树作为新节点的左右子树,并且将新节点的权值置为左右子树上根节点的权值之和

        3)从F中删除刚才选出的两棵树,同时将新的到的树加入F中

        4)重复步骤2)3),直至F中只剩下一棵树为止

    3.特点:

        1)每个初始节点最终都成为叶节点,且权值越小的节点到根节点的路径长度越大

        2)构造过程中共新建了n-1个节点,因此哈夫曼树的节点总数为2n-1

        3)哈夫曼树中不存在度为1的节点

(二)哈夫曼编码——P190

    左0,右1

    哈夫曼树的WPL可视为最终编码得到二进制编码的长度

原文地址:https://www.cnblogs.com/-slz-2/p/13556543.html