Overview Program Allow User Decode Messages Included Graphs Following Depth First Search S Q43792828
Overview This program will allow the user to decode messagesthat are included in graphs by following a depth-first searchstrategy. Your program should be executed from the command line,and should allow the user to choose whether to encode or decode afile. Then the program should ask for the filename of the fileeither containing a text message, or the encoded message to bedecoded. Finally, the program should produce a new file, entitledappropriately, that will either contain the encoded or the decodedmessage. For this homework you will have to write three differentclasses. The first class will be called Encode, and it will take amessage as a text file. It will encode it into Huffman codes, whichwill then be presented to the user. This class should take care ofall the encoding parts of your program. The second class should becalled Decode. It an encoded message, which should include thefrequency table at the beginning. Without encoding the frequencytable into the encoded file, you will not be able to decode yourencoded file!!! These two classes will be instantiated in your mainprogram, which should be in its own .cpp file. The main programshould provide the user interface discussed in the previous sectionto the user, and perform all necessary things to complete theassignment, using the Encode and Decode classes. You may createmore classes that you see necessary for the creation of yourprogram. Auxiliary classes may include a class to save the messagewith its frequency table and the Huffman codes that correspond toeach letter, etc. You may use the any C++ class libraries, exceptany that create Huffman codes. Your submission should include a setof .h and .cpp files, a README.txt file with any information youwant to tell the grader about running your program, and some textfiles with your best test cases. Your main program should be calledHuffmanGraph, and it should be compilable using Dev-C++ andrunnable with the command “HuffmanGraph”. You should submit yourprogram as a single .zip (zip archive) file. This file should haveno directory structure in it — just the actual files, soextracting them should result in all your original files placed inthe current directory
Huffman Coding
These are the instructionsIt will get the name of the text file and then the user in themain should decide if it should encode or decode
Expert Answer
Answer to Overview This program will allow the user to decode messages that are included in graphs by following a depth-first sear…
OR