霍夫曼编码(Huffman Coding)

article/2025/9/24 18:16:33

霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。

霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

霍夫曼编码的具体步骤如下:

1)将信源符号的概率按减小的顺序排队。

2)把两个最小的概率相加,并继续这一步骤,始终将较高的概率分支放在右边,直到最后变成概率1。

3)画出由概率1处到每个信源符号的路径,顺序记下沿路径的0和1,所得就是该符号的霍夫曼码字。   

4)将每对组合的左边一个指定为0,右边一个指定为1(或相反)。

例:现有一个由5个不同符号组成的30个符号的字符串:

BABACAC ADADABB CBABEBE DDABEEEBB

1首先计算出每个字符出现的次数(概率):

2把出现次数(概率)最小的两个相加,并作为左右子树,重复此过程,直到概率值为1

第一次:将概率最低值3和4相加,组合成7:



第二次:将最低值5和7相加,组合成12:

第三次:将8和10相加,组合成18:


http://chatgpt.dhexx.cn/article/kQl9XAvW.shtml

相关文章

Typecho 博客美化

以前用typecho博客,现在学生服务器到期了,先记录到csdn上,以后工作有钱了,再租个服务器写博客:) 代码高亮 https://www.typechodev.com/plugin/482.html 天气功能 使用心知天气带的插件就可以轻松实现了。 https://www.seniverse…

Hexo博客之博客美化

https://lqgjava.github.io/2019/08/24/Hexo博客之博客美化/ 只需阅读这一篇文章,就可以让你的博客变得丰富多彩,有添加卡通人物,添加鼠标点击爱心,添加鼠标指针样式 添加彩色滚动变换、添加背景音乐、添加动态彩带等&#xff0…

CSDN博客美化

排列博客分类 管理博客-分类专栏下修改 双击分类名称,即可编辑,输入“#”“空格”“分类名称”可将一级分类改成二级分类。 显示的效果 分类图标设置 编辑-设置图标,可以这里找阿里素材库 效果图

【CSDN】CSDN博客美化教程

一、效果 二、MarkDown简明教程 MarkDown简明教程 三、摘要 添加摘要,增加可读性。 PS. 其实,可以根据深度学习算法,自动生成摘要。 四、自定义博客栏目 五、修改皮肤

博客美化作业详细教程

博客美化作业 第一步 下载作业资源 第二步 在文件夹内打开下载资源 单击后缀为HTML文件的网页文件,右击用编译器打开 这些软件都可以(除了紫色的) 第三步 准备工作 首先让我们重新看下作业要求: 必须使用“类选择器”来美化网…

【全网最全的博客美化系列教程】04.访客量统计的实现

全网最全的博客美化系列教程相关文章目录 【全网最全的博客美化系列教程】01.添加Github项目链接 【全网最全的博客美化系列教程】02.添加QQ交谈链接 【全网最全的博客美化系列教程】03.给博客添加一只萌萌哒的小仓鼠 【全网最全的博客美化系列教程】04.访客量统计的实现 【全网…

Hexo博客美化之——IP签名图一网打尽

love421个人博客地址:https://www.makedreamsir.xyz IP签名图可以实时显示来访者的坐标,IP地址,操作系统,浏览器等等。 使用方法:将下面生成的链接插入到合适的位置即可。 项目原地址:点我打开 原作者博…

Web前端:博客美化:一、模板美化

1、选用模板simplememory 2、写css放在 这些会覆盖掉原来的css样式 我是在网上找的css代码二次加工的 : ) /*1、针对simplememory的修改*/ #google_ad_c1, #google_ad_c2 {display:none;} .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, …

Hexo博客之主题美化

据说 NexT 是使用最多的Hexo主题,原因当然是比较漂亮啦!这个项目托管于github上,你可以fork一下,贡献代码。NexT官网上面给出了详细的主题配置过程,这里只是我的博客使用的一些配置以及NexT网站上配置中需要补充的部分。如果你是从头开始配置,请参考NexT官网。这篇文章介…

csdn写博客美化代码显示

本人写博客只是随笔记录,并不是很正规,见谅。 最近在写博客的时候发现自己贴的代码块就只显示代码,而一些前辈的代码块是这样的: 上图只看格式,代码无实际意义。 下面是我的代码块: 我写的代码块就…

【学习之博客美化】matery主题

为了方便我们这里使用 "Visual Studio Code"打开文件 将博客改为中文 目录:E:\IsQiyaBlog 将 " _config.yml " 文件中代码段 language: en 改为 language: zh-CN 修改主题菜单栏 将它们填上内容 新建分类 categories 页: hexo …

Hexo博客美化之蝴蝶(butterfly)主题魔改

这里写自定义目录标题 首先下载主题配置博客主题_config.yaml配置前须知_config.yaml配置简单介绍 如果参考我的脚手架,大家可以阅读readme和changelog文件,和蝴蝶主题官方文档。 tip: 由于butterfly主题升级至3.0.1,所提供的源码不在进行维护…

Vuepress博客美化技巧

文章目录 导航栏透明背景图填充跳转样式悬浮气泡背景图填充导航栏透明图片中的点击向下跳转的样式悬浮气泡 导航栏透明背景图填充跳转样式悬浮气泡 背景图填充 效果图: 下面的小框扩展到大框,让后面的导航栏透明更完善一些。 编辑Theme/components/Ho…

个人博客美化界面

先看一下我的界面 进入个人博客———管理——设置 在CSS代码框中输入一段代码,如下: /*simplememory*/ #google_ad_c1, #google_ad_c2 {display:none;} .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter t…

Wordpress(Argon)主题博客美化

前言 常言道:工欲善其事必先利其器,在发表文章前,美化博客,使其利于自己的观看与管理极其重要,所以我四处搜寻,得到了以下美化代码。 但是,有时候我们走得太远,会忘了为什么出发。…

Hexo博客美化

Hexo博客美化 我们搭建好自己的博客以后,可以在hexo官网的 主题 中选择自己喜欢的博客主题,可以直接在主题中点开预览主题样式或者打开主题项目的 github 地址,将该主题下载到我们自己的博客项目中的 theme 文件夹中,然后在 _con…

个人博客美化

文章目录 Butterfly 主题安装修改博主头像生成文章唯一链接本地搜索SitemapRSS追番插件夜间模式繁星(宇宙)背景添加页脚徽标和计时器关于页面 总体参考: Butterfly 文档:https://butterfly.js.organzhiyu :https://anz…

个人博客美化(总结、分享)

博客美化(经验) |主题:EVA、新世纪福音战士、初号机、二号机 |颜色:基础黑白、紫色、绿色、红色 |取材:P站、贴吧eva |我这里只写我的经验,具体的参考主题作者写的笔记具体 修改主题为中文 ​ 这个其实我解…

个人博客网站的美化

文章目录 更换Next主题网站基本设置添加页面动态背景鼠标点击效果图设置站点建立时间设置头像修改网站图标添加RSS添加fork me Github修改文章底部带#号的标签在每篇文章末尾统一添加“本文结束”标记博文压缩修改代码块自定义样式侧边栏社交链接小图标添加热度添加音乐网站底部…

博客园美化教程

博客园美化教程 一、进入管理>设置>勾选下面的JS权限,然后填写一下开通的理由等待管理员进行审核通过。 二、选择下面的博客皮肤 三、贴入以下CSS代码到自定义,并禁用CSS默认模板 *,.Cal{padding:0}::-moz-selection{background:#807dd4;color:#…