Question: Please answer all questions given in the pictures below, if needed code everything in java, and draw everything on paper if needed for designs and
Please answer all questions given in the pictures below, if needed code everything in java, and draw everything on paper if needed for designs and such. Thank you.



Don't use packages! Using packages is generally good, but is a pain when I want to test all of you easily and you make other minor changes. Don't deviate from the file names indicated! Huffman.java and SplayTree.java That includes renaming the file, but leaving the class inside it the same. You may include other files, and those files may be in packages. Posted: Monday, May 28th Due: Saturday, June 16th Grade: 30% 1. Designing a flexible tree structure (a) Design a tree structure that you will implement and subclass to solve both the Huffman Coding Problem and the Splay Tree problem. (b) Include a class diagram showing all the supporting classes of this tree structure (c) Explain your decisions. (d) Include a class diagram showing how you Huffman Coding implementation will extend your general tree structure (e) Explain your decisions textually (f) Include a class diagram showing how your Splay Tree implementation will extend your general tree structure (g) Explain your decisions textually (h) Explain the advantages of using a Splay Tree aver an AVL Tree to solve question 3, referencing ur diagrams and decisions as is appropriate 2. Implement a Huffman Coding Tree based off of the design in question (a) Your tree should build itself using https://users.encs.concordia.ca/-sthiel/comp352/Jabberwock.txt (b) Include the characters for spacing as well as all punctuation, but not line breaks. (c) You should not make encoding for characters not found in the source text, and I will not use any such characters while testing your code (d) Weight should be based on the frequency of occurrence and the order in which a node is encoun- tered. That is, if 'e' and '' have the same frequency, but 'e' occurs first, its weight would be considered greater (e) When merging nodes, the new weight should be the sum of the previous weights but it should weigh' more than something with the same weight that is already on the priority queue on the left, the other node on the right java Huffman
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
