|
|
1
7
|
|
|
2
6
要解码哈夫曼编码的字节流,必须传输两条数据。编码流(当然)是必需的,但字典也是必需的,字典将允许您正确构建哈夫曼树以执行解码。
因此,霍夫曼编码(就像几乎所有东西一样)是一种权衡。在编码文件的效率和字典的大小之间取得平衡可能很棘手。我从未根据数据特征进行过实际分析,以找出各种理想的令牌大小,但我认为倾向于使用字节,因为这是一个简单的分割点,通常会导致一些真正的压缩。我知道在大学时,我曾经用四字节令牌做过一次练习,但我不能诚实地说它比一字节令牌好。 当然,也有可能作弊,而不是动态构建字典以获得真正贪婪的压缩,你可以使用预先构建的树并使用它进行压缩。然后,您将避免传输词典,但解码器也必须使用相同的词典来解码数据。 |
|
|
3
1
附带说明:许多8位哈夫曼编解码器不仅压缩一个字节的256个自然符号。它们也有一个或多个特殊的符号。这些用于检测哈夫曼流的结束,或从一棵哈夫曼树切换到另一棵树。.. |
|
|
4
0
完全正确。无论如何,在实现压缩算法方面几乎没有什么用处(除了智力挑战或训练),因为几乎每种语言的标准库中都有压缩算法。 |
|
|
5
0
顺便说一句,霍夫曼编码总是与算术编码相同或更差。霍夫曼编码被使用了很多年,因为算术编码直到最近才获得专利,而且霍夫曼编码更容易实现。 |
|
|
6
-1
我这么说是因为我做了这件事。即使您大量优化符号表,这也适用。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |