Hi Lou,
Steps to Generate Canonical Huffman Tables
Generate the Huffman Tree:
- Calculate the frequency of each symbol in the input data.
- Build the Huffman tree based on these frequencies.
- Generate the initial Huffman codes from the tree.
Calculate Code Lengths:
- Determine the length of each Huffman code generated in the previous step.
Sort Symbols by Code Length and Lexicographically:
- Sort the symbols primarily by the code length and secondarily by the symbol value.
Generate Canonical Huffman Codes:
- Assign the shortest code to the first symbol in the sorted list.
- Incrementally assign codes to the subsequent symbols, ensuring that each code is lexicographically greater than the previous one.
Hope this helps.