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

摘要

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

一、带权路径长度

二、哈夫曼树的定义

三、哈夫曼树的构造


四、哈夫曼编码

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


五、总结

相关推荐
!!!!8132 小时前
蓝桥备赛Day1
数据结构·算法
七点半7702 小时前
linux应用编程部分
数据结构
静听山水2 小时前
Redis核心数据结构-Hash
数据结构·redis·哈希算法
zhim002 小时前
数据结构笔记(上)(看这亿点就够了)
数据结构
only-qi2 小时前
leetcode24两两交换链表中的节点 快慢指针实现
数据结构·算法·链表
sin_hielo2 小时前
leetcode 110
数据结构·算法·leetcode
执着2592 小时前
力扣hot100 - 199、二叉树的右视图
数据结构·算法·leetcode
cpp_25013 小时前
P8448 [LSOT-1] 暴龙的土豆
数据结构·c++·算法·题解·洛谷
lcj25113 小时前
深入理解指针(4):qsort 函数 & 通过冒泡排序实现
c语言·数据结构·算法