是否可以构建一个包含字符“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 位的简单情况下,霍夫曼编码不会有帮助。如果有更多的重复数据,它可能是。
我有一个格式如下的数组:
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 位的简单情况下,霍夫曼编码不会有帮助。如果有更多的重复数据,它可能是。