Accept a file and form a binary tree - huffman encoding, Data Structure & Algorithms

Huffman Encoding is one of the very simple algorithms to compress data. Even though it is very old and simple , it is still widely used (eg : in few stages of JPEG, MPEG etc). In this project you will implement huffman encoding and decoding. You can read up in Wikipedia or any other tutorial. Your system should accept a file and you require to form a binary (huffman) tree for the same. During the construction of huffman tree, use the priority queue to select nodes along with smallest frequencies. Just one time you have constructed the tree, traverse the tree and create a dictionary of codewords (letter to code). Provided any new sentences, your system must show how the sentence is converted to huffman code and then decoded back to original sentence. Note that you must implement BST and Heap yourself and must not rely on any language libraries. You can use external libraries like GraphViz to display your huffman tree.

Posted Date: 3/30/2013 3:01:01 AM | Location : United States







Related Discussions:- Accept a file and form a binary tree - huffman encoding, Assignment Help, Ask Question on Accept a file and form a binary tree - huffman encoding, Get Answer, Expert's Help, Accept a file and form a binary tree - huffman encoding Discussions

Write discussion on Accept a file and form a binary tree - huffman encoding
Your posts are moderated
Related Questions
The most common way to insert nodes to a general tree is to first discover the desired parent of the node you desire to insert, and then insert the node to the parent's child list.

This section prescribes additional exercise with the recursive and iterative handling of a binary search tree. Adding to the Binary Search Tree Recursively Add implementation

A connected graph is a graph wherein path exists among every pair of vertices. A strongly connected graph is a directed graph wherein every pair of distinct vertices is connecte

Explain what are circular queues? Write down routines required for inserting and deleting elements from a circular queue implemented using arrays.           Circular queue:

explain collision resloving techniques in hasing

A town contains a total of 5000 houses. Every house owner has to pay tax based on value of the house. Houses over $200 000 pay 2% of their value in tax, houses over $100 000 pay 1.


Insertion & deletion of target key requires splaying of the tree. In case of insertion, the tree is splayed to find the target. If, target key is found out, then we have a duplicat

In this project you will write a program to produce a discrete time simulation of a queue as shown in Fig. 1. Time is slotted on the input and the output. Each input packet follows

Problem Your LC code is stored in a memory location as shown and the variable name is LC                  LC Memory address       Content(LC code)