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

2024-09-30 02:16:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我只把文件转换成二进制文件。我正在考虑这个问题的进展,但我卡住了,我需要一些帮助


Tags: 文件算法readstringdef格式数组open
1条回答
网友
1楼 · 发布于 2024-09-30 02:16:41

哈夫曼编码使用的是编码时字符从文本中的字母表到安全空间的概率。为了让它工作,你需要一个有两个以上字符的字母表。两个字符需要1位存储,编码时需要1位。那对任何事情都不安全。你知道吗

使用示例数据,可以将每一行看作一个字符。但是哈夫曼编码还有一个要求:字符必须重复,越多越好。只有5个不重复的字符。你知道吗

在编码25位的简单情况下,哈夫曼编码是没有帮助的。如果有更多的重复数据,它可能是。你知道吗

相关问题 更多 >

    热门问题