【问题标题】:Encoding string to bits in Huffman compression将字符串编码为霍夫曼压缩中的位
【发布时间】:2013-11-20 23:01:14
【问题描述】:

所以我完成了我的霍夫曼树并且准确地找到了每个节点的路径,但它们是字符串类型而不是位字符串。例如,“e”的路径可以是 101(在字符串类型中)。有没有办法简单地说明每个 1 或 0 都是位而不是字符串类型?

【问题讨论】:

  • 您应该考虑使用 BigInteger 或 BitSet 来表示位字符串。 BigInteger 的优点是它的值是不可变的,因此是线程安全的,并且不需要任何形式的同步来实现互斥。 BitSet 是 BigInteger 的可变伴侣类,可以出于性能原因使用,但是出于您的目的,一旦设置了 Huffman 树,就不应再次更改它......所以我倾向于使用 BigInteger。

标签: java huffman-code


【解决方案1】:

您可能可以在代码中“只”使用 BitSet 而不是 String:http://docs.oracle.com/javase/6/docs/api/java/util/BitSet.html

如需更具体的提示,您需要提供您的源代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多