例如,假设我有一个文件,并且我想在C中创建一个压缩算法,那么如果我的算法获得了该文件的位表示形式,请对其进行处理并编写一个新文件,只有我的算法才能知道解压缩?
答案 0 :(得分:0)
考虑映射 M:K-> V 。
这种映射的要求是,任何输入字符串 k 都可以专门映射到一些较短的字符串 M(k)= v 。
您的输入文件是
aaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccaaaaaaaaaa
压缩算法应该找到一些映射 M ,它们可以提供很好的压缩效果,并且不需要花费太多时间。 在这种情况下,直观上,您可以使用:
M(aaaaaaaaaa) = a
M(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) = b
M(ccccc) = c
压缩后的文件变成
abca
您可以相反地解压缩文件。
(请注意,映射需要以某种方式存储在压缩文件的旁边/内部,以便以后知道如何解压缩)