当前位置:网站首页>哈夫曼树基本概念
哈夫曼树基本概念
2022-07-06 20:18:00 【木子正文_啊嘞】
哈夫曼树的基本概念:
(1)路径:由一结点到另一结点间的分支所构成
(2)路径长度:路径上的分支数目a→d的路径长度= 2
(3)树的路径长度:从树根到每一结点的路径长度之和。 例图:10
(4)权:赋予某个实体的一个量,是对实体的属性的数值化描述。若树的结点带有权值,即为带权树。
(5)结点的带权路径长度:结点到根的路径长度与结点上权值的乘积d的带权路径长度=72=14
(6)树的带权路径长度:树中所有叶子结点的带权路径长度之和。例图:27+25+22+2*4=36
(7)赫夫曼树(Huffman):最优二叉树,带权路径长度最小的树
哈夫曼树的特点
- 权值大的结点到根结点的路径长度短;
- 权值小的结点到根结点的路径长度长。
Ø哈夫曼编码树中没有度为1的结点;
Ø若给定n个权值(n个叶子结点),则哈夫曼树的总结点数为 2n-1;
Ø哈夫曼树的高度不超过n。
哈夫曼树的构造算法:
哈夫曼编码:
v前缀编码:任一字符的编码都不是另一字符编码的前缀。
如:字符a、b、c、d的编码分别为0、1、01、10,则a的编码是c的编码的前缀,b的编码是d编码的前缀,该编码不是前缀编码。
在译码时,对于01011011的译码结果将不唯一。
v哈夫曼编码
对一棵具有n个叶子的哈夫曼树,对每个左分支赋予0,右分支赋予1,则从根到每个叶子的路径上,分别构成一个二进制串,该二进制串称为哈夫曼编码。
进行哈夫曼编码,先建哈夫曼树。
哈夫曼编码是前缀编码,且是最优前缀编码。
边栏推荐
- 21.(arcgis api for js篇)arcgis api for js矩形采集(SketchViewModel)
- [colmap] 3D reconstruction with known camera pose
- 如何替换模型的骨干网络(backbone)
- Jerry's ble exiting Bluetooth mode card machine [chapter]
- 图形化工具打包YOLOv5,生成可执行文件EXE
- 从 1.5 开始搭建一个微服务框架——日志追踪 traceId
- “去虚向实”大潮下,百度智能云向实而生
- mos管实现主副电源自动切换电路,并且“零”压降,静态电流20uA
- cocos3——8. Implementation Guide for beginners
- leetcode-02(链表题)
猜你喜欢
Flink Task退出流程与Failover机制
Stored procedures and functions (MySQL)
Depth analysis of compilation constants, classloader classes, and system class loaders
Flink task exit process and failover mechanism
函数重入、函数重载、函数重写自己理解
树莓派设置wifi自动连接
Leetcode-02 (linked list question)
The whole process of knowledge map construction
Nuggets quantification: obtain data through the history method, and use the same proportional compound weight factor as Sina Finance and snowball. Different from flush
Make (convert) ICO Icon
随机推荐
迷失在MySQL的锁世界
【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张
上个厕所的功夫,就把定时任务的三种调度策略说得明明白白
HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
input_delay
Depth analysis of compilation constants, classloader classes, and system class loaders
Cocos2d-x box2d physical engine compilation settings
腾讯云原生数据库TDSQL-C入选信通院《云原生产品目录》
Oracle connection pool is not used for a long time, and the connection fails
Flutter3.0了,小程序不止于移动应用跨端运行
sshd[12282]: fatal: matching cipher is not supported: aes256- [email protected] [preauth]
[swift] learning notes (I) -- familiar with basic data types, coding styles, tuples, propositions
Graphical tools package yolov5 and generate executable files exe
Cryptography series: detailed explanation of online certificate status protocol OCSP
体会设计细节
24.(arcgis api for js篇)arcgis api for js点修改点编辑(SketchViewModel)
Numpy中排序操作partition,argpartition,sort,argsort
mos管實現主副電源自動切換電路,並且“零”壓降,靜態電流20uA
leetcode
When you go to the toilet, you can clearly explain the three Scheduling Strategies of scheduled tasks