You are on page 1of 22

Huffman Codes

Example
Otávio Braga
Example
• Say we want to encode a text with the characters a,
b,…, g occurring with the following frequencies:

a b c d e f g
Frequency 37 18 29 13 30 17 6
Fixed-Length Code
a b c d e f g
Frequency 37 18 29 13 30 17 6
Fixed-length 000 001 010 011 100 101 110
code

• Total size is:


(37 + 18 + 29 + 13 + 30 + 17 + 6) x 3= 450 bits
Variable-Length Code
a b c d e f g
Frequency 37 18 29 13 30 17 6
Variable- 10 011 111 1101 00 010 1100
length code

• Total size is:


37x2 + 18x3 + 29x3 + 13x4 + 30x2 + 17x3 + 6x4 = 402 bits

• A savings of approximately 11%


Constructing a Huffman Code

g,6 d,13 f,17 b,18 c,29 e,30 a,37


Constructing a Huffman Code

g,6 d,13 f,17 b,18 c,29 e,30 a,37


Constructing a Huffman Code

19 f,17 b,18 c,29 e,30 a,37

g,6 d,13
Constructing a Huffman Code

f,17 b,18 19 c,29 e,30 a,37

g,6 d,13
Constructing a Huffman Code

f,17 b,18 19 c,29 e,30 a,37

g,6 d,13
Constructing a Huffman Code

35 19 c,29 e,30 a,37

f,17 b,18 g,6 d,13


Constructing a Huffman Code

19 c,29 e,30 35 a,37

g,6 d,13 f,17 b,18


Constructing a Huffman Code

19 c,29 e,30 35 a,37

g,6 d,13 f,17 b,18


Constructing a Huffman Code

48 e,30 35 a,37

19 c,29 f,17 b,18

g,6 d,13
Constructing a Huffman Code

e,30 35 a,37 48

f,17 b,18 19 c,29

g,6 d,13
Constructing a Huffman Code

e,30 35 a,37 48

f,17 b,18 19 c,29

g,6 d,13
Constructing a Huffman Code

65 a,37 48

e,30 35 19 c,29

f,17 b,18 g,6 d,13


Constructing a Huffman Code

a,37 48 65

19 c,29 e,30 35

g,6 d,13 f,17 b,18


Constructing a Huffman Code

a,37 48 65

19 c,29 e,30 35

g,6 d,13 f,17 b,18


Constructing a Huffman Code

85 65

e,30 35
a,37 48

19 c,29 f,17 b,18

g,6 d,13
Constructing a Huffman Code

65 85

e,30 35
a,37 48

f,17 b,18 19 c,29

g,6 d,13
Constructing a Huffman Code
150

65 85

e,30 35
a,37 48

f,17 b,18 19 c,29

g,6 d,13
Resulting Code

0 1
a 10
b 011
0 1 0 1
c 111
e a d 1101
0 1 0 1
e 00
f b c f 010
0 1 g 1100
g d

You might also like