【发布时间】:2020-04-11 02:01:29
【问题描述】:
所以一旦我构建了我的霍夫曼树并将一个文件压缩到每个字符的相应代码中,我该如何解压缩文件?在压缩文件中,我必须插入某种信息,表示为解压缩文件而构建的霍夫曼树。我最初想用它的值来存储字符,例如:
例如 a: 110 和 b:11。但是,在读取压缩文件时,如果 a 和 b 都以 11 开头,我将如何区分 a 和 b?
我觉得我的方法行不通,有没有人有更好的想法?
【问题讨论】:
标签: c++ huffman-code
所以一旦我构建了我的霍夫曼树并将一个文件压缩到每个字符的相应代码中,我该如何解压缩文件?在压缩文件中,我必须插入某种信息,表示为解压缩文件而构建的霍夫曼树。我最初想用它的值来存储字符,例如:
例如 a: 110 和 b:11。但是,在读取压缩文件时,如果 a 和 b 都以 11 开头,我将如何区分 a 和 b?
我觉得我的方法行不通,有没有人有更好的想法?
【问题讨论】:
标签: c++ huffman-code
您对霍夫曼编码有误解。霍夫曼编码码表中的任何字符码都不能是其他字符的前缀。如果代码中的“a”为 110,则“b”不得以 1、11 或 110 开头。每个字符不得共享其前缀。
【讨论】: