C++ source code Huffman tree Huffman coding