huffman student
DESCRIPTION
TRANSCRIPT
- 1. CSE 326 Huffman coding Richard Anderson
- 2. Coding theory
- Conversion, Encryption, Compression
- Binary coding
- Variable length coding
- 3. Decode the following 11010010010101011 100100101010 Ambiguous Prefix code E 0 T 11 N 100 I 1010 S 1011 E 0 T 10 N 100 I 0111 S 1010
- 4. Prefix code
- No prefix of a codeword is a codeword
- Uniquely decodable
- 5. Prefix codes and binary trees
- Tree representation of prefix codes
- 6. Construct the tree for the following code E 0 T 11 N 100 I 1010 S 1011
- 7. Minimum length code
- Average cost
- Average leaf depth
- Huffman tree tree with minimum weighted path length
- C(T) weighted path length
- 8. Compute average leaf depth A 00 1/4 B 010 1/8 C 0110 1/16 D 0111 1/16 E 1 1/2
- 9. Huffman code algorithm
- Derivation
-
- Two rarest items will have the longest codewords
-
- Codewords for rarest items differ only in the last bit
- Idea: suppose the weights are with and the smallest weights
-
- Start with an optimal code for and
-
- Extend the codeword for to get codewords for and
- 10. Huffman code H = new Heap() for each w i T = new Tree(w i ) H.Insert(T) while H.Size() > 1 T 1 = H.DeleteMin() T 2 = H.DeleteMin() T 3 = Merge(T 1 , T 2 ) H.Insert(T 3 )
- 11. Example: Weights 4, 5, 6, 7, 11, 14, 21 4 5 6 7 11 14 21
- 12. Draw a Huffman tree for the following data values and show internal weights: 3, 5, 9, 14, 16, 35
- 13. Correctness proof
- The most amazing induction proof
- Induction on the number of code words
- The Huffman algorithm finds an optimal code for n = 1
- Suppose that the Huffman algorithm finds an optimal code for codes size n, now consider a code of size n + 1 . . .
- 14. Key lemma
- Given a tree T, we can find a tree T, with the two minimum cost leaves as siblings, and C(T)