Find Jobs
Hire Freelancers

Text Compression Utility Using C++

$10-30 USD

Closed
Posted almost 5 years ago

$10-30 USD

Paid on delivery
ASCII files can be compressed by using variable length Huffman Coding. By analyzing the different probabilities of the various symbols that occur in a given file, we can build a Huffman tree to come up with a minimal, optimized binary list of code words for these symbols. In this assignment, you will be implementing a compression utility for ASCII-encoded text. Your program should be able to both compress and decompress text files, computing the compression ratio and the efficiency of your encoding. The steps to implement this program are as follows: 1. Determine the symbols / characters used in the file, build your alphabet and probabilities 2. Build a merge tree to find the optimal coding for each symbol 3. Encode your characters with the new binary codes 4. Save the coded characters along with your code table in the output compressed file For decompression, your program should read the code table / tree from the compressed file and use that to recover the originally compressed text file. Optimally, your program should have three different parameters passed to it at runtime: 1. A flag indicating whether it is being used to compress or decompress the input file 2. The path of the input text file 3. The path to write the output file (compressed file in case of compression, text file in case of decompression) When used for compression, your program should output the compression ratio (for ASCIIencoded files where each character is written in 8 bits, the compression ratio will be <L> / 8) and the efficiency (η) of your encoding. Submission Instructions Your source code and executable binary file should be submitted on blackboard by the due date, along with a README file that describes how the command line parameters should be passed (or help instructions to be printed by the program when no parameters are passed)
Project ID: 19428493

About the project

7 proposals
Remote project
Active 5 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
7 freelancers are bidding on average $61 USD for this job
User Avatar
Hi there. I do C++ programming and I would like to do this project if given the opportunity. I have done a couple of huffman related projects before. i went through your requirements and this is something I can confidently do. Let me know if you are interested.
$30 USD in 1 day
5.0 (629 reviews)
7.2
7.2
User Avatar
Hi I'm an expert in C++ programming. I'm sure that I can easily do this project. We can have a about it. Thanks..
$70 USD in 1 day
4.9 (313 reviews)
7.2
7.2
User Avatar
Hello. How are you today. I have read and understood this task. I have a lots of experience and very good knowledge of Data structures, Algorithms Design, Computer Architecture. And I'm expert in C/C++ etc. I'm interested in this project. I'll wait for your good reply. Thanks.
$40 USD in 1 day
4.9 (125 reviews)
6.2
6.2
User Avatar
Hi, I have over 10 years of experience in C/C++. I have worked on Huffman coding before. Please message me.
$50 USD in 1 day
4.9 (84 reviews)
6.1
6.1
User Avatar
Hi, I am C++/Algorithm expert and have rich experience. I have done job as same as your requirement before. I checked your requirement. I'm sure that I can easily do this project. I will do my best for you. best regards.
$100 USD in 2 days
5.0 (31 reviews)
5.2
5.2
User Avatar
This is a basic Huffman tree problem which use a Huffman tree to encode and decode a text file. I am good at data structure problem, so it will OK for me to finish this problem.
$35 USD in 2 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of EGYPT
El Haram, Egypt
5.0
1
Payment method verified
Member since Jul 5, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.