java编码工作原理(给我手写一个哈夫曼编码)
java编码工作原理(给我手写一个哈夫曼编码)
2024-11-26 12:05:30  作者:敗鎵尐爺  网址:https://m.xinb2b.cn/life/irq308430.html

哈弗曼树往往都会根据哈夫曼编码结合着来说,因此这篇文章,主要结合着面试问题来说明。

一、基本概念

哈夫曼树的目的是找出存放一串字符所需的最少的二进制编码, 原理是通过统计出每种字符出现的频率!不断地对其合并。

举个例子:有一串字符,现在把这些字符进行统计,频率表 A:60, B:45, C:13 D:69 E:14 F:5 G:3。现在要对这些字符进行编码,但是前提是使用最少的二进制编码。这时候怎么办呢?这就用到了我们的哈弗曼树。

我们需要构造一个哈弗曼树,构造赫夫曼树的算法是一个贪心算法,贪心的地方在于:总是选取当前频率(权值)最低的两个结点来进行合并,构造新结点。

现在我们就来构造一颗哈弗曼树。

二、构造哈弗曼树

刚刚我们已经说了,构造哈夫曼树是每次选取当前频率最低的两个节点来进行合并就好了。

1、原始序列


2、选取最小的F和G节点合并


3、选取目前最小的C节点与8合并


4、继续重复以上步骤进行合并


到此为止,我们的哈弗曼树就已经构造出来了。接下来我们添加01规则,进行哈夫曼编码。

三、哈夫曼编码

哈夫曼编码的规则是,左边添加0,右边添加1。看下图就明白了。


OK,也就是在每一条边上添加了01。此时我们来看每一个字符的编码。

A:10 B:01 C:0011 D:11 E:000 F:00101 G:00100

四、java实现哈夫曼编码

我们直接给出一个整体的哈夫曼编码的java实现。

第一步:定义一个节点


第二步:实现哈夫曼编码



  • 不用会员如何将pdf转换成word(pdf转换成word不限次数)
  • 2024-11-26pdf转换成word不限次数pdf转换成word不限次数在工作里碰到PDF文件,可谓是家常便饭的事了,因为PDF文件的通用性比较好,不管什么系统都能查看,同时还能够保持文件的原样,不会出现乱码现象但由于PDF文件只能查看,不能被。
  • kb可以用作数据单位吗
  • 2024-11-26kb可以用作数据单位吗kb可以用作数据单位KB:在一般的计量单位中,通常K表示1000例如:1公里=1000米,经常被写为1km;1公斤=1000克,写为1kg同样K在二进制中也有类似的含义只是这时K表示1024,也就是2。
  • 夜读现在是最好的时光(没有人可以回到过去)
  • 2024-11-26没有人可以回到过去生活永远充满变故,计划总是赶不上变化,我们总是在为失去的感到惋惜,却忘记了,只要重新开始,未来依旧美好我们终其一生所追求的不过是灯火阑珊的温暖,和柴米油盐的充实年轻的我们,爱上什么都不为过,成熟了以后。
  • 韩庚跟王晓晨电视剧什么时候播(韩庚王晓晨合作新剧)
  • 2024-11-26韩庚王晓晨合作新剧据悉,韩庚和王晓晨合作新剧啦!片名《爱我你敢吗》,都市爱情治愈系题材大方向就是男女主角分手后再次相遇,最后终成眷属的爱情故事我觉得,看完这部剧,会重燃对爱情的信心!面对当下流行的“丧”文化、甚至是丧到。
  • 女性bmi对比图(男生与女生的区别)
  • 2024-11-26男生与女生的区别男生与女生的区别,除了性别不一样之外,生活上还有很多不一样的习惯和思维让我们一起来看一下男生和女生的区别吧​​​​​​​​​​​​​​​​​你觉得以上这些照片反应的对不对呢?,。
  • 生男孩的几大要素(生男孩好还是生女孩好)
  • 2024-11-26生男孩好还是生女孩好导语:社会在发展,观念在更新,到底生男孩好还是生女孩好?不同的时代有不同的看法,那么老人家是怎么看这件事呢?三位老人说出心里话黄大爷说:还是生女儿好我和妻子生了两个孩子,一个男孩一个女孩,我们对儿子女。
  • 电子导游证和导游证功能(电子导游证操作完全指南)
  • 2024-11-26电子导游证操作完全指南4月27日开始申请电子导游证啦!快来学习一下申请流程吧还有常见的问题汇总哦内容来自全国旅游监管服务平台帮助系统申请电子导游证需要什么条件?取得导游人员资格证的人员从事导游活动,应当与旅行社签订劳动合同。
  • 校长欺负英语老师(英语老师成青春受害人)
  • 2024-11-26英语老师成青春受害人在学校的时候,就是一生最无忧无虑的时候因为是学生,所以做什么都没有后顾之忧,最严重的惩罚也就是请家长但在没皮没脸的我们心中,请家长根本不是事儿——你这回请了,我明天还敢年少轻狂的我们不懂什么叫做“社死。
  • 古代捕快有多强(少年四大名捕狂拽酷炫)
  • 2024-11-26少年四大名捕狂拽酷炫原题:古代捕快并非狂拽酷炫:临时工地位低乱用职权湖南卫视热播中的《少年四大名捕》,让观众见识了武功过人,足智多谋的名捕就此,《楚天金报》记者肖黎对我作了采访以下为该报发表后的内容——图:《少年四大名捕。
  • 流金岁月演员表介绍(流金岁月哪些演员出演)
  • 2024-11-26流金岁月哪些演员出演由罗嘉良、温兆伦、宣萱、林峰、叶璇、石修、秦沛等主演剧情介绍:《流金岁月》电视剧是新丽传媒出品的都市情感剧该剧讲述了朱锁锁和蒋南孙遍尝生活的个中滋味,却互相扶持,不仅将生活经营出多彩的模样,还拥有自己。
  • 薛之谦我难得这么深情唱一次歌(好久不见老薛谢谢你的歌)
  • 2024-11-26好久不见老薛谢谢你的歌我们喜欢约定约定日后的再次重逢真好,你未曾忘记我也是你说下个月见然后那个下个月发生了这么多真害怕,从此不再有你也许很久都不会有你不过挺好你还是来了所以有相遇,就有离别缘深缘浅似乎都有了定数不要轻易想起。