【问题标题】:Running the huffman encoding algorithm on an empty file在空文件上运行霍夫曼编码算法
【发布时间】:2017-11-21 05:07:59
【问题描述】:

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

【问题讨论】:

    标签: huffman-code


    【解决方案1】:

    是的,对它运行 Huffman 编码没有多大意义。根据实现的细节,它可能不会崩溃。

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

    【讨论】:

    • 我的功课是创建一个基于霍夫曼编码的文件压缩器。我老师提供的一个测试文件是一个空文件。
    • 你不能有一个基本情况,如果文件为空,你什么都不做?
    • 这就是我的想法,但我的助教认为空文件应该不是问题。我不知道他们的意思,但这超出了本文的范围。我只是想知道你的意见,
    【解决方案2】:

    您需要在压缩数据的开头以某种方式对哪些符号对应于 Huffman 编码进行编码。正是在该表示中,将指示符号的数量。如果只有一个符号,根据您的描述必须是 EOF,那么霍夫曼编码暗示为零位。如果只有一个符号,则需要 0 位来表示它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      相关资源
      最近更新 更多