是否有机会解码用霍夫曼算法编码的大文本? (我没有代码树,并确定原文是英文)对使用霍夫曼算法编码的文本进行解码
回答
如果你没有树,那么你将不得不构建它。它基本上是霍夫曼编码算法的一部分,就在你需要构造字符串之前。
现在,如果您不知道文本中字符的频率,那可能是一个问题,因为字符可能由不同数量的数字表示。这是一个霍夫曼编码与不平等信费用的例子。
如果情况并非如此,每封信都有相同的成本,那么您将能够推断出一棵树,但这将会非常困难,因为您需要为代码尝试不同的字母赋值,之前你最终得到一张合法的地图。
一旦你有树,解码应该不是什么大问题(理论上至少)。 这里有几个资源是谈论编码/与霍夫曼ALG解码: Wiki-page, 2, applet
给我,真正的问题是要确定哪些是不同的字母 –
@ HeapOwerflow,再次,如果你知道每个字母将具有相同数量的编码它的位,然后你可以推断出字母。维基页面讨论它:http://en.wikipedia.org/wiki/Huffman_coding#Decompression 但是,究竟该如何去做,我不确定。我希望我的答案以某种方式帮助你。 – Roman
我的猜测是,你不能将文本轻松解码,作为原因任何有效哈夫曼树能用于解码的任何霍夫曼码(或任何随机比特流,它的价值)。因此,您无法仅从代码本身重新创建用于生成代码的原始树。
您可以尝试通过将输出与字典匹配并在不匹配时更改代码来动态生成代码,然后重新开始解码。尽管如此,我不知道这种蛮力方法是多么实际。
- 1. 霍夫曼解码算法
- 2. 编码霍夫曼树的算法
- 3. 霍夫曼编码文本文件
- 4. Python PNG解码 - 霍夫曼编码
- 5. 霍夫曼解码子表
- 6. 解码霍夫曼树
- 7. 霍夫曼编码压缩
- 8. 霍夫曼树编码
- 9. 霍夫曼编码惯例
- 10. 霍夫曼编码 - 压缩
- 11. 霍夫曼编码 - 伪EOF
- 12. 霍夫曼编码树
- 13. 霍夫曼编码帮助
- 14. 霍夫曼编码C++
- 15. 霍夫曼编码错误
- 16. 使用霍夫曼树解码消息
- 17. 坏霍夫曼码?
- 18. 如何使用霍夫曼编码算法构建输出编码文件?
- 19. 霍夫曼编码文件在c + +
- 20. 霍夫曼编码文件保存
- 21. 霍夫曼编码 - 头文件&EOF
- 22. 霍夫曼代码编码遍历
- 23. 使用霍夫曼编码进行图像压缩
- 24. DEFLATE利用静态霍夫曼编码
- 25. 解码JPEG的霍夫曼块(表)
- 26. 在Java中的霍夫曼编码
- 27. 有效的霍夫曼编码?
- 28. Python中的递归霍夫曼编码
- 29. Matlab的霍夫曼编码在矩阵
- 30. 反向霍夫曼算法?
你能给我们一些背景吗?你为什么要这样做?这是实际的还是理论上的?这是功课吗? – Craigy
使用“正常”英文文本中字母的频率分析,您可能能够推断代码树。不是一个简单的任务,但。 –
你知道霍夫曼码是代表单个字母还是整个单词吗? –