是否可以构建一个包含字符“0”和“1”的霍夫曼算法?

Is it possible build a huffman algorithm with characters of '0' and '1'?

我有一个格式如下的数组:

P1
5 5
0 0 0 0 0
0 1 0 1 0
1 0 1 0 1
1 1 1 1 1
0 0 0 1 1

我想使用霍夫曼按顺序压缩这个数组。我的问题是这是否可能,因为当我通过霍夫曼算法搜索时,我只找到了多个字符,并没有找到与此类似的东西。

如果可以的话,我会怎么做?

我试过这个:

def getBitString(file):
   file = open(ficheiro, "rb").read()
   string = ""
   for byte in file:
     print(byte)
     string+=format(byte,'08b')

   return string

我只将文件转换为二进制文件。我正在考虑要进步的问题,但我卡住了我需要一些帮助

霍夫曼编码在编码时使用文本中字母表中的字符的概率来确保安全 space。为了让它工作,你需要一个包含两个以上字符的字母表。两个字符需要 1 位来存储,编码时需要 1 位。那什么都不安全。

使用您的示例数据,您可以将每一行视为一个字符。但是霍夫曼编码还有一个有用的要求:字符必须重复,越多越好。将只有 5 个非重复字符。

在您编码 25 位的简单情况下,霍夫曼编码不会有帮助。如果有更多的重复数据,它可能是。