+ All Categories
Home > Technology > Huffman Student

Huffman Student

Date post: 29-Nov-2014
Category:
Upload: anithabalaprabhu
View: 1,034 times
Download: 1 times
Share this document with a friend
Description:
 
17
CSE 326 Huffman coding Richard Anderson
Transcript
  • 1. CSE 326 Huffman coding Richard Anderson
  • 2. Coding theory
    • Conversion, Encryption, Compression
    • Binary coding
    • Variable length coding
    Code examples 000,001,010,011,100,101 1,01,001,0001,00001,000001 00,010,011,100,11,101 A B C D E F
  • 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
    A 00 1 00 B 010 01 10 C 011 001 11 D 100 0001 0001 E 11 00001 11000 F 101 000001 101
  • 5. Prefix codes and binary trees
    • Tree representation of prefix codes
    A 00 B 010 C 0110 D 0111 E 10 F 11
  • 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)

Recommended