首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不使用优先级队列的huffman树

不使用优先级队列的huffman树
EN

Stack Overflow用户
提问于 2022-11-16 16:29:42
回答 1查看 44关注 0票数 -1

对于我的项目,我必须创建一个huffman树项目,但我的讲师说我不能使用优先级队列来构建它?但我不知道该怎么做。还有其他方法可以不用优先级队列来创建huffman树吗?

这是一个huffman树的例子,但是它使用的是优先级队列。 在这里输入图像描述 在这里输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2022-11-17 12:24:13

在实践中,有一个经常被用来建造赫夫曼树的技巧:

  1. 创建一个包含概率的符号列表,并按升序排序。
  2. 为组合符号创建一个初始空列表。在我们工作的时候,这个问题还会得到解决。
  3. 虽然列表中有多个符号:
代码语言:javascript
运行
复制
1. Remove the two smallest symbols from the beginnings of two lists
2. Combine them and add them to the end of the combined list.  Because the new symbol has a higher combined probability than any combined symbol created before, this list remains sorted.

在初始排序之后,最小的概率符号总是两个列表中的第一个,因此不需要优先级队列或搜索就可以找到它。

这种技巧相当聪明,而且你的讲师也不会指望你自己去想它,所以它很可能是在课堂上教或引用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74464025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档