Starting from:
$29.99

$23.99

Homework #6 Solution

PART I:

 

Use HuffmanCode class which described in the text book add encode method which gets string and return its Huffman codes sequences.

 

Your prototype should be :

 

/**

* Method to encode string  message into Huffman encodes.

* @param message The input message as a String

* which is composed on the specified alphabet in the book

* @param huffmanTree It’s created huffman code for the alphabet

* @return The encoded message as a String zero and ones.

*/

public String encode(String message, BinaryTree huffmanTree) Note : Don’t use table, traverse table for each character in string. PART II:

Implement iterator class which iterate binarySearchTree which implemented in the book. Your

iterator traverse tree ascending order.

 

PART III:

 

Use given priority queue interface and implement your priority queue class. Your priority queue stores any type data. To use priority property for priority queue use and implement compareto function/class which described comparable interface in java.

 

A priority queue can be implementing using a variety of data structures, each with different tradeoffs between memory required, runtime performance, complexity of code, etc. In this homework, you will consider four different implementations; unsorted vector, array list, linked list which implemented in java and binary search tree which implemented in the book.

 

Create a test class which create random data sequences (sequence size like 10, 100, 1000,

10.000, 100.000, 1.000.000) and test your four priority queue implementation running time performance. Create a table and give comparable benchmark table.  (The table is important)

OBJECTIVES:

 

-     Preparing object oriented design for the problem

-     Creating interfaces

-     Applying polymorphism

-     Applying method overriding

-     Applying error handling

-     Applying inheritance

-     Applying code documentation

-     Applying clean code standards

-     Creating javadoc documentation

 

RESTRICTIONS:

 

-     Use maven standard Project template

-     Use only arrayList, LinkedList, Vector, Binary Search Tree data structure

-     Can be only one main class in project

-     Don’t use any other third part library

 

GENERAL RULES:

 

-     For any question firstly use course news forum in moodle, and then the contact TA.

-     Use maven project management tool. And upload maven project into moodle.

-     Code the Project in Java programming language. Java must be 1.8.* or bigger version.

-     Any java IDE can be used in coding process.

-     Implement all interfaces class

-      Add all  javadoc documentations for classes, methods, variables …etc. All explanation must be meaningful and understandable.

-      Implement clean code standarts in your code;

o  Classes, methods and variables names must be meaningful and related with the functionality.

o Your functions and classes must be simple, general, reusable and focus on one topic.

o  Use standart  java code name conventions.

-     Register github student pack and create private project and upload your projects into github.

-     Your appeals are considered over your github project process.

-     You can submitting assignment one day late and will be evaluated over forty percent (%40).

-     Create report which include;

o Your name, surname, studentid

o Detailed system requirements

o The Project usecase diagrams (extra points)

o Class diagrams

o Problem solutions approach

o Test cases

o Running command and results

GRADING :

 

-     No OOP design                             : -100

-     No maven Project                        : -100

-     No banchmar table                      : -100

-     No interface                                  : -95

-     No method overriding                : -95

-     No error handling                        : -95

-     No inheritance                              : -95

-     No polymorphism                        : -95

-     No javadoc documentation       : -95

-     No clean code standard              : -95

-     No report                                       : -90

-     Disobey restrictions                     : -98

-     Your solution is evaluated over 100 as your performance. Don’t forget this is performance

project.

 

CONTACT :

 

-     Teacher Assistant : Necmeddin Çarkacı

-     Information and Security Lab – 122 – ncarkaci@bilmuh.gyt.edu.tr

More products