In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly used for lossless data compression. The process of finding or using such a code proceeds by means of Huffman coding, an algorithm developed by David A. Huffman while he was a Sc.D. student at MIT, and published in the 1952 paper "A Method for the Construction of Minimum-Redundancy Codes".
This project is being developed jointly during the discipline data structure 2019.1 by the students:
The following libraries were developed to make the code simpler to understand, each library dealing with a different data type or with functions that have a common goal:
- Hash Table (hash.h)
- Priority Queue (priority_queue.h)
- Double Linked List
- Tree (huffman_tree.h)
The program is being implemented in the programming language C obeying the following criteria:
- code under the ANSI C standard;
- using the gcc compiler;
- external libraries will be delivered along with the code;
For the compilation and execution of the program, the following commands will be used:
- Compilation of the project:
gcc -g main.c -o main -w
- Execution of the project:
./main
The project is being developed in the GNU/Linux operating system and tested on GNU/Linux and Windows.
- Distribution Ubuntu 15.10 or higher
- Distribution Windows 8 or higher
Users of other operating systems can use VirtualBox to install Ubuntu for free.
In short, the project will have treatment for other operating systems, however there will be no guarantee to run the same way it will run in the Linux environment.
This material was prepared based on the README.md made by Prof. André Lage Freitas and is licensed under the MIT Massachusetts Institute of Technology license.