Use C to implement order-preserving Huffman coding using thedynamic programming formulation described
INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS
Understanding of Huffman code
Understanding of the five steps for developing a dynamic programming
Use C to implement order-preserving Huffman coding - using the dynamic programming formulation described in Notes C.
The input is 1) a positive integer n and 2) a sequence of n doubles giving the probabilities for symbols in an ordered character set. To simplify output, the character set will be referenced numerically as 0 . . . n - 1..
Submit your C program on Canvas by 10:45 am (section 004) or 1:45 pm (section 003) on October 24. Comments at the beginning of the source file should include: your name, your ID number, and the command used to compile your code on Omega (5 point penalty for non-compliance).
Be sure to understand ordinary (greedy) Huffman codes and the dynamic programming solution for the optimal matrix multiplicaion ordering problem
The code for filling in the cost matrix will be very similar to optimal matrix multiplication You are not required to include the cost matrix in your output.
Outputting the optimal order-preserving Huffman code tree is just like outputting the tree for the optimal matrix multiplication
Determining the bit string for each character requires navigating a path down the tree stored within the cost matrix. Going left gives a 0, going right gives a 1. (Recursion is not )