优化的三叉哈夫曼树

1. 背景

在通讯、计算机网络、数据压缩、图像处理中,哈夫曼编码是一项极其重要的技术。哈夫曼编码是建立在二叉哈夫曼树的基础上,如果能够找到比二叉哈夫曼树更好的数据结构,那么对数据压缩等将起到促进作用。本文通过论述二叉哈夫曼树编码算法以及普通的三叉哈夫曼树编码算法,给出一种优化的三叉哈夫曼编码算法。

2. 哈夫曼编码

2.1 哈夫曼编码

哈夫曼编码是根据每个字符出现的频率进行编码的,依据字符出现的频率值构造一颗哈夫曼树,从而实现最短的编码表示高频数据。

2.2 二叉哈夫曼树生成算法

对于给定的数据序列,要生成带权路径长度最小的树,即哈夫曼树,算法如下:
(1)初始化:根据给定的N个权值{W1,W2,W3…Wn}构成n棵二叉树的集合F={T1,T2,T3,…Tn},其中每颗二叉树中只有一个权值为Wi的根结点,左右子树为空;
(2)选取与合并:在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,并将新的二叉树的根结点的权值为左右子树的根结点的权值之和;
(3)删除与加入:在F中删除两棵子树,同时将新的二叉树加入到F中;
(4)重复:重复(2)、(3),直到F只含一棵子树。
这里写图片描述
带权路径长度:WPL=6*6+(5+8+9)*5+(10+18+12+15)*4+(24+25+20+32+30)*3 =759

3. 三叉哈夫曼书编码###

评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seakot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值