gpt4 book ai didi

java - 霍夫曼编码 - 如果两个字母的频率相等,则可能生成不同的码字

转载 作者:行者123 更新时间:2023-12-02 06:05:04 25 4
gpt4 key购买 nike

我的压缩器使用频率表构建霍夫曼树,然后构建编码,并将频率表和编码保存到文件中。

解压器从文件中读取频率表,重建哈夫曼树,然后解码文件中保存的编码。

问题是,当两个频率相同时,压缩器和解压缩器会创建两个不同的霍夫曼树,生成不同的码字,尽管有效,但解码会中断,因为它们不同。

我能做些什么来解决这个问题?

问候。

注意:我是用 Java 编写的。

最佳答案

解压缩器不会从文件中读取频率表,重建霍夫曼树,然后解码文件中保存的编码。压缩器应该保存单词编码表,即“stack” -- 000 “flow” --- 000,然后解压缩器只需读取编码表即可获取单词的代码。

关于java - 霍夫曼编码 - 如果两个字母的频率相等,则可能生成不同的码字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22356426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com