哈夫曼树,如何有效构造的原理?

quan123a 2009-10-05 09:00:24
大家好,我最近都在思考如何构造哈夫曼树,但是都没有结果:
我树的所有的结点共有31个,
如何划分树有多少层,还有可能知道每层有多少个结点么?
有没有没有错误又短些的哈夫曼编码介绍个连接?
...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
quan123a 2009-10-05
  • 打赏
  • 举报
回复
我懂了,原来真是这样的!
谢谢各位大虾帮忙!
quan123a 2009-10-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 binghuazh 的回复:]
利用最小堆,堆中的元素是一棵子树
每次删除堆顶元素两次(最小权重),然后权重相加构造新子树,重新插进堆
直到只剩下一棵树
gl
[/Quote]
这样反复选取在一堆数据内没有被使用的两个最小数,构造新的结点,大虾哥,你确定可行么?
na2650945 2009-10-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 quan123a 的回复:]
大家好,我最近都在思考如何构造哈夫曼树,但是都没有结果:
我树的所有的结点共有31个,
如何划分树有多少层,还有可能知道每层有多少个结点么?
有没有没有错误又短些的哈夫曼编码介绍个连接?
[/Quote]
建议去数据结构算法的版问问。
还有。
可以自己翻下数据结构的书。
blingpro 2009-10-05
  • 打赏
  • 举报
回复
利用最小堆,堆中的元素是一棵子树
每次删除堆顶元素两次(最小权重),然后权重相加构造新子树,重新插进堆
直到只剩下一棵树

gl
oyster2008 2009-10-05
  • 打赏
  • 举报
回复
编码树有多少层只有构造出来后才知道

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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