首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >霍夫曼规范算法。存储代码表

霍夫曼规范算法。存储代码表
EN

Stack Overflow用户
提问于 2020-05-13 02:36:27
回答 1查看 107关注 0票数 1

我实现了规范的霍夫曼算法,在理论部分有几个问题,即关于解码的信息存储。作为一种方法,建议将字母字符及其规范代码的长度与编码数据一起传输,因为要恢复规范表,我们只需要代码长度。

示例:字符串"bbbaacd“。规范代码:b0 (1比特)a 10 (2) c 110 (3) d 111 (3)即解码数据: b1a2c3d3。这引发了几个问题。

1)是否有必要在一个文件中传输该表以及根据该表编码的数据(在文件的结尾/开头)?有什么真实的例子吗?

2)如果是,那么如果数据中有数字,如何了解我们的表中字母符号(数字)在哪里,位数(长度)在哪里?

3)最后,如何理解表和编码数据之间的边界?

如果所有内容都存储在单独的文件中(在我看来,这更简单也更符合逻辑),那么最后两个问题就会自动消失。

EN

回答 1

Stack Overflow用户

发布于 2020-05-13 03:50:43

通常,代码长度存储在与数据相同的文件中。例如,如果您将最大代码长度设置为16位,则文件中的前128个字节可以是所有256个字节的代码长度(每个4位)。

一种稍微复杂一点的方法是对这些长度进行哈夫曼编码。你可以使用一棵固定的树来实现。或者,您可以使用动态树,并首先写出每个长度的符号长度。

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

https://stackoverflow.com/questions/61759464

复制
相关文章

相似问题

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