【发布时间】:2021-06-19 05:05:01
【问题描述】:
DEFLATE 算法的许多实现都允许基于流的输入。一个例子是 Java 的java.util.zip.ZipOutputStream。据我所知,DEFLATE 在压缩之前构建了一个 Huffman 树,并将该树写入 .zip 文件的开头。
但是,为了构建 Huffman 树,程序需要对最频繁出现的字符进行计数,而这些字符只有在读取文件后才具有。如果流太大以至于无法立即放入内存,那么霍夫曼树是如何构建的?
【问题讨论】:
标签: algorithm zip compression huffman-code deflate