Huffman Tree Coding
Greedy Technique
Dr. P. Subathra
Prof/ IT
KAMARAJ College of Engg. & Tech
(AUTONOMOUS)
Madurai
Tamil Nadu
India
Huffman Tree Coding
• Encoding
– In computer technology, encoding is the process of putting a
sequence of characters into a special format for transmission
or storage purposes.
• Code Word
– The special format that represents each character is called as
the code word
• Fixed Length Encoding
– fixed-length encoding that assigns to each symbol a bit string
of the same length m
– Eg. ASCII codes
• Variable Length Encoding
– Variable-length encoding, which assigns codewords of
different lengths to different symbols
2
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
• Encoding
– In computer technology, encoding is the process of putting a
sequence of characters into a special format for transmission
or storage purposes.
• Code Word
– The special format that represents each character is called as
the code word
• Fixed Length Encoding
– fixed-length encoding that assigns to each symbol a bit string
of the same length m
– Eg. ASCII codes
• Variable Length Encoding
– Variable-length encoding, which assigns codewords of
different lengths to different symbols
3
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
• Encoding
– In computer technology, encoding is the process of putting a
sequence of characters into a special format for transmission
or storage purposes.
• Code Word
– The special format that represents each character is called as
the code word
• Fixed Length Encoding
– fixed-length encoding that assigns to each symbol a bit string
of the same length m
– Eg. ASCII codes
• Variable Length Encoding
– Variable-length encoding, which assigns codewords of
different lengths to different symbols
4
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
5
Huffman Tree Coding
Frequency of Occurrence of English Alphabets
6
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
• Encoding
– In computer technology, encoding is the process of putting a
sequence of characters into a special format for transmission
or storage purposes.
• Code Word
– The special format that represents each character is called as
the code word
• Fixed Length Encoding
– fixed-length encoding that assigns to each symbol a bit string
of the same length m
– Eg. ASCII codes
• Variable Length Encoding
– Variable-length encoding, which assigns codewords of
different lengths to different symbols
7
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
• Variable-length encoding assigns codewords of different lengths to
different symbols
• Eg.
E →1
A→ 10
P→ 101
Q→ 1010
• How to decode: 110101 ?
• How can we tell how many bits of an encoded text represent the
first ?
8
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
• We can limit ourselves to the so-called prefix-free (or simply
prefix) codes.
• In a prefix code, no codeword is a prefix of a codeword of
another symbol.
• Eg.
E →10
A→ 01
P→ 110
• How to decode: 101100110 ?
• 10 110 01 10 → E P A E
9
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Consider the five-symbol alphabet { A, B, C, D, _ }
with the following occurrence frequencies in a text
made up of these symbols:
Create a Huffman Tree and Generate the Huffman
Code.
10
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
11
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
12
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
13
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
14
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
15
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
16
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
17
Huffman Tree Coding
18
Huffman Tree Coding
19
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
20
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
21
Huffman Tree Coding
22
Huffman Tree Coding
23
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
24
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
25
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
26
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
27
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
28
Character Code
A
B
C
D
-
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
29
Character Code
A 11
B
C
D
-
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
30
Character Code
A 11
B 100
C
D
-
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
31
Character Code
A 11
B 100
C 00
D
-
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
32
Character Code
A 11
B 100
C 00
D 01
-
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
33
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “DAD CAB”
D A D C A B
34
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “DAD CAB”
D A D C A B
100
35
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD CAB”
B A D C A B
100 11
36
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD CAB”
B A D C A B
100 11 01
37
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD CAB”
B A D C A B
100 11 01 101
38
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD CAB”
B A D C A B
100 11 01 101 00
39
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD CAB”
B A D C A B
100 11 01 101 00 11
40
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Encode: “BAD_CAB”
B A D _ C A B
100 11 01 101 00 11 100
41
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 10011011010011100
42
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B
43
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A
44
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A D
45
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A D _
46
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A D _ C
47
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A D _ C A
48
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
Decode: 100 11 01 101 00 11 100
B A D _ C A B
49
Character Code
A 11
B 100
C 00
D 01
- 101
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India
Huffman Tree Coding
50
Dr. P. Subathra, KAMARAJ College of Engg &
Tech (AUTONOMOUS), Madurai,
Tamil Nadu, India

Huffman tree coding greedy approach

  • 1.
    Huffman Tree Coding GreedyTechnique Dr. P. Subathra Prof/ IT KAMARAJ College of Engg. & Tech (AUTONOMOUS) Madurai Tamil Nadu India
  • 2.
    Huffman Tree Coding •Encoding – In computer technology, encoding is the process of putting a sequence of characters into a special format for transmission or storage purposes. • Code Word – The special format that represents each character is called as the code word • Fixed Length Encoding – fixed-length encoding that assigns to each symbol a bit string of the same length m – Eg. ASCII codes • Variable Length Encoding – Variable-length encoding, which assigns codewords of different lengths to different symbols 2 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 3.
    Huffman Tree Coding •Encoding – In computer technology, encoding is the process of putting a sequence of characters into a special format for transmission or storage purposes. • Code Word – The special format that represents each character is called as the code word • Fixed Length Encoding – fixed-length encoding that assigns to each symbol a bit string of the same length m – Eg. ASCII codes • Variable Length Encoding – Variable-length encoding, which assigns codewords of different lengths to different symbols 3 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 4.
    Huffman Tree Coding •Encoding – In computer technology, encoding is the process of putting a sequence of characters into a special format for transmission or storage purposes. • Code Word – The special format that represents each character is called as the code word • Fixed Length Encoding – fixed-length encoding that assigns to each symbol a bit string of the same length m – Eg. ASCII codes • Variable Length Encoding – Variable-length encoding, which assigns codewords of different lengths to different symbols 4 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 5.
  • 6.
    Huffman Tree Coding Frequencyof Occurrence of English Alphabets 6 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 7.
    Huffman Tree Coding •Encoding – In computer technology, encoding is the process of putting a sequence of characters into a special format for transmission or storage purposes. • Code Word – The special format that represents each character is called as the code word • Fixed Length Encoding – fixed-length encoding that assigns to each symbol a bit string of the same length m – Eg. ASCII codes • Variable Length Encoding – Variable-length encoding, which assigns codewords of different lengths to different symbols 7 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 8.
    Huffman Tree Coding •Variable-length encoding assigns codewords of different lengths to different symbols • Eg. E →1 A→ 10 P→ 101 Q→ 1010 • How to decode: 110101 ? • How can we tell how many bits of an encoded text represent the first ? 8 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 9.
    Huffman Tree Coding •We can limit ourselves to the so-called prefix-free (or simply prefix) codes. • In a prefix code, no codeword is a prefix of a codeword of another symbol. • Eg. E →10 A→ 01 P→ 110 • How to decode: 101100110 ? • 10 110 01 10 → E P A E 9 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 10.
    Huffman Tree Coding Considerthe five-symbol alphabet { A, B, C, D, _ } with the following occurrence frequencies in a text made up of these symbols: Create a Huffman Tree and Generate the Huffman Code. 10 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 11.
    Huffman Tree Coding 11 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 12.
    Huffman Tree Coding 12 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 13.
    Huffman Tree Coding 13 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 14.
    Huffman Tree Coding 14 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 15.
    Huffman Tree Coding 15 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 16.
    Huffman Tree Coding 16 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 17.
  • 18.
  • 19.
    Huffman Tree Coding 19 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 20.
    Huffman Tree Coding 20 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 21.
  • 22.
  • 23.
    Huffman Tree Coding 23 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 24.
    Huffman Tree Coding 24 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 25.
    Huffman Tree Coding 25 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 26.
    Huffman Tree Coding 26 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 27.
    Huffman Tree Coding 27 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 28.
    Huffman Tree Coding 28 CharacterCode A B C D - Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 29.
    Huffman Tree Coding 29 CharacterCode A 11 B C D - Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 30.
    Huffman Tree Coding 30 CharacterCode A 11 B 100 C D - Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 31.
    Huffman Tree Coding 31 CharacterCode A 11 B 100 C 00 D - Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 32.
    Huffman Tree Coding 32 CharacterCode A 11 B 100 C 00 D 01 - Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 33.
    Huffman Tree Coding 33 CharacterCode A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 34.
    Huffman Tree Coding Encode:“DAD CAB” D A D C A B 34 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 35.
    Huffman Tree Coding Encode:“DAD CAB” D A D C A B 100 35 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 36.
    Huffman Tree Coding Encode:“BAD CAB” B A D C A B 100 11 36 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 37.
    Huffman Tree Coding Encode:“BAD CAB” B A D C A B 100 11 01 37 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 38.
    Huffman Tree Coding Encode:“BAD CAB” B A D C A B 100 11 01 101 38 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 39.
    Huffman Tree Coding Encode:“BAD CAB” B A D C A B 100 11 01 101 00 39 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 40.
    Huffman Tree Coding Encode:“BAD CAB” B A D C A B 100 11 01 101 00 11 40 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 41.
    Huffman Tree Coding Encode:“BAD_CAB” B A D _ C A B 100 11 01 101 00 11 100 41 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 42.
    Huffman Tree Coding Decode:10011011010011100 42 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 43.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B 43 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 44.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A 44 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 45.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A D 45 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 46.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A D _ 46 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 47.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A D _ C 47 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 48.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A D _ C A 48 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 49.
    Huffman Tree Coding Decode:100 11 01 101 00 11 100 B A D _ C A B 49 Character Code A 11 B 100 C 00 D 01 - 101 Dr. P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India
  • 50.
    Huffman Tree Coding 50 Dr.P. Subathra, KAMARAJ College of Engg & Tech (AUTONOMOUS), Madurai, Tamil Nadu, India