Huffman coding is a lossless data compression algorithm. The idea is to assign variablelength codes to input
Fantastic news! We've Found the answer you've been seeking!
Question:
Huffman coding is a lossless data compression algorithm. The idea is to assign variablelength codes to input characters; lengths of the assigned codes are based on the frequencies of corresponding characters. The most frequent character gets the smallest code and the least frequent character gets the largest code.
The variablelength codes assigned to input characters are Prefix Codes, means the codes bit sequences are assigned in such a way that the code assigned to one character is not prefix of code assigned to any other character. This is how Huffman Coding makes sure that there is no ambiguity when decoding the generated bit stream.
In this project, you will be using a priority queue and a binary tree of your design to implement a file compressionuncompression algorithm called "Huffman Coding".
Your program will read any file and compress it using your implementation of the Huffman coding algorithm found in the explanation. The compressed data will be written to a file. That compressed file will be then be read back by your program and uncompressed. The uncompressed file will then be written to a third file. The uncompressed file should of course match the original file.
Summary of Processing
Read the specified file and count the frequency of all bytes in the file.
Create the Huffman coding tree based on the frequencies.
Create and display a table of encodings for each byte from the Huffman coding tree.
Encode the file and output the encodedcompressed file.
Display the header that include the huffman code.
Read the encodedcompressed file you just created, decode it and output the decoded file.
How to write in the compressed file header the extension of file and the huffman code and the size of the file and the data but the compressed file have less size than the original.
Related Book For
Building Java Programs A Back To Basics Approach
ISBN: 9780135471944
5th Edition
Authors: Stuart Reges, Marty Stepp
Posted Date: