美文网首页
二叉树之--霍夫曼树和霍夫曼编码

二叉树之--霍夫曼树和霍夫曼编码

作者: 美雨知春 | 来源:发表于2020-09-30 13:02 被阅读0次

二叉树的一种特殊的数是霍夫曼树:霍夫曼树是基于权重的。比如数组T,和权重W(或者概率W)
T[a,d,g,b,y,h]
W[1,3,5,4,7,9]
权重和字符是对应的,怎么构建霍夫曼树呢。最终构建一个二叉树让所有路径相加权值最小,具体原理自己去推证吧。下面说方法

霍夫曼树

  1. 第一步:从W中选择两个最小的权重,1和3,相加成4


    1.JPG
  2. 然后由4和剩下的元素组成数组
    [4,5,4,7,9]

  3. 从中选择两个最小的进行第一步,相加成8


    2.JPG
  4. 由8和剩下的三个元素组成数组
    [8,5,7,9]
    循环,循环吧

  5. 最终结果如下


    3.JPG

霍夫曼编码

上面的霍夫曼树,如果把左边分支设置为0,右边分支设置为1,从顶部到底部得到的01编码就是对应字符的霍夫曼编码


4.JPG

a:0000
d:0001
b:001
h:01
g:10
y:11
这里最重要的是:任何一个编码不是另一个编码的前缀,也就是说收到的报文只要匹配上编码就是这个字符,不用考虑还是其他字符的问题,霍夫曼编码应用在文档或者报文压缩里面。

相关文章

  • 二叉树之--霍夫曼树和霍夫曼编码

    二叉树的一种特殊的数是霍夫曼树:霍夫曼树是基于权重的。比如数组T,和权重W(或者概率W)T[a,d,g,b,y,h...

  • 第十六讲 数据结构之二叉树(四)

    霍夫曼树 霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化。 重要概念 路...

  • 深入学习二叉树(三) 霍夫曼树

    1 前言 霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化。 2 重要概念...

  • 霍夫曼编码

    概念 霍夫曼编码(Huffman Coding),又译为哈夫曼编码、赫夫曼编码,是一种用于无损数据压缩的熵编码(权...

  • 霍夫曼编码

    问题: 请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短 思路:使用霍夫曼编码构造字符串编码...

  • 补充知识-2-霍夫曼树与霍夫曼编码

    1、前言: 1、参考了: https://www.cnblogs.com/pinard/p/7160330.htm...

  • 霍夫曼树

    经常用的地方:压缩算法由来:比如10个学生,<60分的4个,>=60 的6个。A:if(score<60) {a=...

  • 数据结构之「霍夫曼树」

    霍夫曼树 霍夫曼树 是由美国计算机科学家大卫·霍夫曼(David Albert Huffman)(又译为哈夫曼、赫...

  • 哈夫曼树

    戴维·哈夫曼【David Huffman】 著名的“霍夫曼编码”的发明人戴维.霍夫曼 (David Albert ...

  • 霍夫曼(Huffman)编码

    一、定义 霍夫曼(Huffman)编码是一种编码方式,主要用于数据文件的压缩。它的主要思想是放弃文本文件的普通保存...

网友评论

      本文标题:二叉树之--霍夫曼树和霍夫曼编码

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