Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Huffman Coding Huffman coding is a lossless data compression algorithm. The idea is to assign variablelength codes to input characters; lengths of the assigned codes

Huffman Coding
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 variable
-
length 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 compression
/
uncompression 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 encoded
/
compressed file.
Display the header that include the huffman code.
Read the encoded
/
compressed file you just created, decode it and output the
decoded file Using java
(
Note : Don't use buil
-
in classes and HashMap
)
Just MinHeap, The header inside the compressed file
(
.
huf
)
must include file extension and the header size and huffman code

Step by Step Solution

There are 3 Steps involved in it

Step: 1

In order to implement Huffman Coding to compress and decompress files in Java particularly without using builtin classes or HashMap you will need to f... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Online Market Research Cost Effective Searching Of The Internet And Online Databases

Authors: John F. Lescher

1st Edition

0201489295, 978-0201489293

More Books

Students also viewed these Databases questions

Question

What is meant by 'Wealth Maximization ' ?

Answered: 1 week ago

Question

Draft a proposal for a risk assessment exercise.

Answered: 1 week ago