• 技术文章 >常见问题

    哈夫曼编码运用到了哪种数据结构

    青灯夜游青灯夜游2021-02-03 13:47:08原创3428

    哈夫曼编码运用到的数据结构为“树型结构”。在哈夫曼算法的支持下构造出一棵最优二叉树,我们把这类树命名为哈夫曼树。因此,准确地说,哈夫曼编码是在哈夫曼树的基础之上构造出来的一种编码形式。

    本教程操作环境:windows7系统、Dell G3电脑。

    哈夫曼编码运用到的数据结构为“树型结构”。

    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。

    哈夫曼编码借助了数据结构当中的树型结构,在哈夫曼算法的支持下构造出一棵最优二叉树,我们把这类树命名为哈夫曼树。因此,准确地说,哈夫曼编码是在哈夫曼树的基础之上构造出来的一种编码形式,它的本身有着非常广泛的应用。

    哈夫曼树

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

    所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的路径长度是从树根到每一结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。可以证明哈夫曼树的WPL是最小的。

    想要查阅更多相关文章,请访问PHP中文网!!

    以上就是哈夫曼编码运用到了哪种数据结构的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:电脑的网络地址怎么查 下一篇:出现grub怎么进入系统

    相关文章推荐

    • 数据结构包括什么• JavaScript实现常用数据结构(栈、队列、链表、哈希表、树)• 大数据的多样性使得数据被分为三种数据结构,分别是什么• 在数据结构中,从逻辑上可以把数据结构分成什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网