我已经建立了霍夫曼树。但我不知道将代码存储为位,因为我不知道如何
处理可变长度。
我想创建一个表,以位存储霍夫曼代码以打印编码结果。
我不能使用像 bitset 这样的 STL 容器。
我有这样的尝试
void traverse( string code = "")const
{
if( frequency == 0 ) return;
if ( left ) {
left->traverse( code + '0' );
right->traverse( code + '1' );
}
else {//leaf node
huffmanTable[ch] = code;
}
}
你能给我一些算法来处理它吗?
我想存储“0”使用 1 位,“1”使用 1 位。
提前谢谢。