【数据结构-树与二叉树】4.7 哈夫曼树

摘要

哈夫曼树(Huffman Tree),又称最优二叉树,是一种带权路径长度(WPL)最小的二叉树,由 David A. Huffman 于 1952 年提出,核心是用贪心策略让权值大的节点离根更近,实现整体代价最优。

一、带权路径长度

二、哈夫曼树的定义

三、哈夫曼树的构造


四、哈夫曼编码

  • 背景:ABCD使用ASCII编码传输,使用的比特位太多,需要更简洁的方法进行传输
  • 解决办法:ABCD使用长度为2的二进制表示,并计算带权路径长度
  • 存在问题:WPL是200,想进一步压缩
  • 进一步压缩WPL:构建哈夫曼树,压缩到130bit
  • 固定长度编码VS可变长度编码


五、总结

相关推荐
tobias.b1 天前
计算机基础知识-数据结构
java·数据结构·考研
不想看见4041 天前
Valid Parentheses栈和队列--力扣101算法题解笔记
开发语言·数据结构·c++
计算机安禾1 天前
【C语言程序设计】第37篇:链表数据结构(一):单向链表的实现
c语言·开发语言·数据结构·c++·算法·链表·蓝桥杯
皮卡狮1 天前
高阶数据结构:AVL树
数据结构·算法
不要秃头的小孩1 天前
50. 随机数排序
数据结构·python·算法
故事和你911 天前
sdut-python-实验四-python序列结构(21-27)
大数据·开发语言·数据结构·python·算法
丶小鱼丶1 天前
数据结构和算法之【栈】
java·数据结构
不要秃头的小孩1 天前
力扣刷题——111.二叉树的最小深度
数据结构·python·算法·leetcode
散峰而望1 天前
【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南
数据结构·c++·后端·算法·机器学习·github·剪枝
elseif1231 天前
CSP-S提高级大纲
开发语言·数据结构·c++·笔记·算法·大纲·考纲