Huffman code 在空文件上运行哈夫曼编码算法

Huffman code 在空文件上运行哈夫曼编码算法,huffman-code,Huffman Code,这可能是一个愚蠢的问题,但是压缩一个空文件没有任何意义,对吗?。空文件上的哈夫曼编码算法不起作用,因为它依赖于优先级队列中必须至少有2个节点这一事实。如果我们在一个空文件上运行该算法,我们将得到的唯一节点是与EOF对应的节点 是啊,没错,在上面运行哈夫曼编码没有多大意义。根据实现的细节,它可能不会崩溃 但是为什么要压缩一个空文件呢?您需要在压缩数据的开头编码什么符号对应什么哈夫曼代码。正是在这种表示中,符号的数量才会被表示出来。如果只有一个符号,根据您的描述必须是EOF,则哈夫曼编码暗示为零位。

这可能是一个愚蠢的问题,但是压缩一个空文件没有任何意义,对吗?。空文件上的哈夫曼编码算法不起作用,因为它依赖于优先级队列中必须至少有2个节点这一事实。如果我们在一个空文件上运行该算法,我们将得到的唯一节点是与EOF对应的节点

是啊,没错,在上面运行哈夫曼编码没有多大意义。根据实现的细节,它可能不会崩溃


但是为什么要压缩一个空文件呢?

您需要在压缩数据的开头编码什么符号对应什么哈夫曼代码。正是在这种表示中,符号的数量才会被表示出来。如果只有一个符号,根据您的描述必须是EOF,则哈夫曼编码暗示为零位。如果只有一个符号,则需要零位来表示它。

我的作业是创建一个基于哈夫曼编码的文件压缩程序。我的老师提供的一个测试文件是一个空文件。你不能有一个基本的例子,如果文件是空的,你什么也不做吗?这就是我的想法,但我的助教认为空文件不应该是一个问题。我不知道这是什么意思,但这超出了本文的范围。我只是想知道你的意见,