最近好像笔试经常见到Huffman树,就记录一下吧
首先对字符统计出现次数,代表权重值,假设FDTERA => 1 1 3 4 5 8,然后按照权重从小到大挨个合并(图源),值得注意的是,最小权重的两个节点,权重小的是左子树,权重大的是右子树:
然后哈夫曼树建立完成,左子树是0,右子树是1,这样就完成了哈夫曼编码,可以看出权重小的在底下,权重高的在顶上,这样常出现的字母的编码长度更短
huffman编码树
最新推荐文章于 2024-08-09 09:30:00 发布
最近好像笔试经常见到Huffman树,就记录一下吧
首先对字符统计出现次数,代表权重值,假设FDTERA => 1 1 3 4 5 8,然后按照权重从小到大挨个合并(图源),值得注意的是,最小权重的两个节点,权重小的是左子树,权重大的是右子树:
然后哈夫曼树建立完成,左子树是0,右子树是1,这样就完成了哈夫曼编码,可以看出权重小的在底下,权重高的在顶上,这样常出现的字母的编码长度更短