gpt4 book ai didi

c++ - 高度压缩数字网格

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:46 26 4
gpt4 key购买 nike

我有一个包含数字的正方形网格,我需要对其进行大量压缩,以便可以轻松地通过网络传输。例如,无论网格中的数字值如何,我都需要能够将 40x40 的网格压缩为小于 512 字节。这是我的基本要求。

网格的每个单元格都包含一个从 0 到 7 的数字,因此每个单元格可以容纳 3 位。

有谁知道一个好的算法可以实现我想要的?

最佳答案

您可以对信息进行不同的编码。您不需要为所有数字 0 到 7 分配一个具有相同位数的代码。您可以根据序列中的次数进行分配。

首先读取整个序列,计算每个数字出现的次数。在此基础上,您可以将代码分配给每个号码。如果您分配以下代码,例如 Huffman code这些代码将是前缀代码,这意味着没有额外的字符来分隔数字。

您可以根据您的测试结果对算法引入某些变体,以微调压缩率。

我在一个项目(大学)中使用了这种技术,一般来说,它提供了良好的结果。至少它应该接近理论上的每个字符 3 位,如果概率分布有帮助,它会更好。

关于c++ - 高度压缩数字网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397233/

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