数据结构 | 树之哈夫曼树

作者: 水土七口刀 | 来源:发表于2020-03-27 13:57 被阅读0次

    定义

    • 又称——最优二叉树
    • 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

    构造算法

    • 1)对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F={T1,T2,T3,...,Ti,..., Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结点,它的左右子树均为空。
    • 2)在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根结点的权值为其左右子树的根结点的权值之和。
    • 3)从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。
    • 4)重复2)和3),直到集合F中只有一棵二叉树为止。

    相关定理

    • 对于具有n个叶子节点的哈夫曼树,共有2*n-1个节点。

    相关文章

      网友评论

        本文标题:数据结构 | 树之哈夫曼树

        本文链接:https://www.haomeiwen.com/subject/jugkyhtx.html