Question: Write a program that performs Huffman encoding and compression using a binary tree. Huffman coding is an algorithm devised by David A. Huffman of MIT
Write a program that performs Huffman encoding and compression using a binary tree. Huffman coding is an algorithm devised by David A. Huffman of MIT in 1952 for compressing text data to make a file occupy a smaller number of bytes. The idea of Huffman coding is to abandon the rigid 8-bits-per-character requirement of ASCII encoding and use different-length binary encodings for different characters. The advantage of doing this is that if a character occurs frequently in the file, such as the letter, it could be given a shorter encoding (fewer bits), making the file smaller.
Your program should contain methods to read an input text file, count its characters, and use these counts to build a Huffman tree for the characters by frequency. Use this Huffman tree to output an encoded and compressed version of the file. Also write a method to read and decompress this file later. You may want to use helper classes for reading and writing a file one bit at a time. You can find classes called BitInputStream and BitOutputStream at our web site, http://buildingjavaprograms.com.
Step by Step Solution
3.41 Rating (160 Votes )
There are 3 Steps involved in it
import javaxswingJOptionPane import javaio import grayadtsheap import grayadtsbinarytree Focus on Problem Solving solution Encoding a text file using ... View full answer
Get step-by-step solutions from verified subject matter experts
Document Format (2 attachments)
2079_60f58f34f3886_860998.pdf
180 KBs PDF File
2079_60f58f34f3886_860998.docx
120 KBs Word File
