已知各字符的出现次数(数组中),如何简单计算总的HUFFMAN压缩字节数

aabiao 2004-11-19 12:46:04
不要求二叉树的编码,只要求计算结果
不要具体程序,给个方法就可以。
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bamboo2000 2004-11-23
  • 打赏
  • 举报
回复
王咏刚的网站上能找到一个Huffman的源码
不用构造Huffman树就可以生成Huffman编码了
寻开心 2004-11-22
  • 打赏
  • 举报
回复
这个算法应该就是huffman树编码算法本身

概率分布直接影响到树的形状,树的形状的构造算法就是计算各个字符编码长度的算法

是可以构造出来一个算法根据其他字符的概率,算出特定字符的编码长度的
可是这样单独的算法,还不如完整的构造一个树,然后遍历一次把所有的字符的编码长度都计算出来,来得效率高呢。

即便你构造出了这个算法,你也会发现里面有大量的if语句判别其他字符的概率数值的,不太可能形成一个公式算法,而不包含if判断那样的算法的。
aabiao 2004-11-19
  • 打赏
  • 举报
回复
我说知道各节点次数,就是说明知道概率了。我不是说预估,是要计算。
寻开心 2004-11-19
  • 打赏
  • 举报
回复

给出了各个字符的频率才可以生成树

然后计算每个节点的深度和频率的乘积再求和,然后才能算出编码后的长度

不生成树,直接算编码后的长度可难叻。

怀疑有无可行性
虽然给出数据肯定能够构造出来二叉树,但是预估这个树的长度不太可能

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧