0% found this document useful (0 votes)
190 views10 pages

Huffman Tree

Huffman coding is a lossless data compression algorithm that uses variable-length codewords to encode characters. It assigns shorter codewords to more frequent characters and longer codewords to less frequent characters. The algorithm involves building a Huffman tree from the character frequencies, where internal nodes represent codes and leaves represent characters. Codes are then assigned by traversing the tree. The time complexity of Huffman coding is O(nlogn) where n is the number of unique characters. It implements a prefix rule to avoid code ambiguities during decoding.

Uploaded by

pritam nayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
190 views10 pages

Huffman Tree

Huffman coding is a lossless data compression algorithm that uses variable-length codewords to encode characters. It assigns shorter codewords to more frequent characters and longer codewords to less frequent characters. The algorithm involves building a Huffman tree from the character frequencies, where internal nodes represent codes and leaves represent characters. Codes are then assigned by traversing the tree. The time complexity of Huffman coding is O(nlogn) where n is the number of unique characters. It implements a prefix rule to avoid code ambiguities during decoding.

Uploaded by

pritam nayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Huffman Coding-

 
 Huffman Coding is a famous Greedy Algorithm.
 It is used for the lossless compression of data.
 It uses variable length encoding.
 It assigns variable length code to all the characters.
 The code length of a character depends on how frequently it occurs in the given
text.
 The character which occurs most frequently gets the smallest code.
 The character which occurs least frequently gets the largest code.
 It is also known as Huffman Encoding.

Prefix Rule-
 
 Huffman Coding implements a rule known as a prefix rule.
 This is to prevent the ambiguities while decoding.
 It ensures that the code assigned to any character is not a prefix of the code
assigned to any other character.
 

Major Steps in Huffman Coding-


 
There are two major steps in Huffman Coding-
1. Building a Huffman Tree from the input characters.
2. Assigning code to the characters by traversing the Huffman Tree.
 

Huffman Tree-
 
The steps involved in the construction of Huffman Tree are as follows-
 

Step-01:
 
 Create a leaf node for each character of the text.
 Leaf node of a character contains the occurring frequency of that character.
 

Step-02:
 
 Arrange all the nodes in increasing order of their frequency value.
Step-03

Considering the first two nodes having minimum frequency,


 Create a new internal node.
 The frequency of this new node is the sum of frequency of those two nodes.
 Make the first node as a left child and the other node as a right child of the newly
created node.
 

Step-04:
 
 Keep repeating Step-02 and Step-03 until all the nodes form a single tree.
 The tree finally obtained is the desired Huffman Tree.

Time Complexity-
 
The time complexity analysis of Huffman Coding is as follows-
 extractMin( ) is called 2 x (n-1) times if there are n nodes.
 As extractMin( ) calls minHeapify( ), it takes O(logn) time.
 
Thus, Overall time complexity of Huffman Coding becomes O(nlogn).
Here, n is the number of unique characters in the given text.
 
The following 2 formulas are important to solve the problems based on Huffman Coding-
 
Formula-01:
 Formula-02:
 
Total number of bits in Huffman encoded message
= Total number of characters in the message x Average code length per character
= ∑ ( frequencyi x Code lengthi )
 

PRACTICE PROBLEM BASED ON HUFFMAN


CODING-
 

Problem-
A file contains the following characters with the frequencies as shown. If Huffman
Coding is used for data compression, determine-
1. Huffman Code for each character
2. Average code length
3. Length of Huffman encoded message (in bits)

Characters Frequencies

a 10

e 15

i 12
o 3

u 4

s 13

t 1

 Solution-
 
First let us construct the Huffman Tree.
Huffman Tree is constructed in the following steps-
 

Step-01:

Step-02:
 

Step-3
Step-4

Step-5
Step-6
Step-7
 

You might also like