Ask Java Expert


Home >> Java

Java Exercises

Requirements

 

The main goal of this assignment is to implement methods that perform heap operations.

 

Add a class named BinaryHeap to the project. This class supports the arrayrepresentation of binary max heaps. Generic code is optional. If you opt out generic, apply String values for data, and apply the compareTo( ) method for comparison.

 

The class shall contain the int type field manyItems as usual, and an array field to store the data. Add a constructor to the class such that it instantiates the array to an initial length (parameter).

 

Implement the add( ) method which in turn applies the upward reheapificationalgorithm.

 

Implement the removeRoot( ) method such that it applies the downward reheapification algorithm.

 

Add ensureCapacity ( ) and toString( ) to the class. You shall decide how your toString traverses the tree. Describe your choice in a comment attached to the method.

 

ImplementastaticmethodnamedbuildHeap().Themethodtakesanarrayof Strings for parameter (the parameter is not necessarily a heap). The method instantiates a String array to the length of the parameter array and constructs a heap on this array such that calling the add() method repeatedly, adds all the parameter elements one after each other to the new heap. The method must also work if the heap is empty. It is a precondition, however, that the base array of the heap is not null.

Note 1: The buildHeap( ) method will look familiar when you see it again as part of the heap sort algorithm. It will be a private helper method named makeHeap( ). See also makeHeap( ) in the book, p 656.

Determine the performance of the buildHeap method.

Note 2: You may follow the hints in the book for Programming Project #5, p672, and implement a second solution for buildHeap( ), which performs O(n) better than the recommended solution above.

 

Implementamethodtrim3()suchthatitremovesthethreelargestelements from this heap. The method should work (remove elements) in a sensible way even if the heap has no element, 1 element or 2 elements only.

 

Note that the largest element is obviously at the root. The second largest must be one of the two children of the root. The third largest is not necessarily the other child, it can be a grandchild of the root.

 

9. Add an application class to the project and test your methods. This class displays the heap array by calling the toString( ) method.

 

10. You may add more methods if you see it necessary, but you must have all the methods implemented as listed above.

 

It is recommended to add to the class the private methods below:

 

swap(), to exchange array entries at two given indices·

 

reheapUp(), to do the upward reheapification from a given index·

 

reheapDown(), to do the downward reheapification from a given index (make it·recursive)

 

These method simplify the implementation of the add() and removeRoot() methods, they are particularly useful if you want to implement a general remove() method (optional).

 

11.The words.doc file attached to the assignment can be used for testing purposes, but you can use your own choice of text. The text must have at least 40 different meaningful words, all pairwise different with respect to compareTo().

 

This is the word document:

 

a               A
be           Be
cat          Cat
door      Door
error     Error
four       Four
garage  Garage
home    Home
island   Island
jam       Jam
kick       Kick
lobby    Lobby
mouse Mouse
norm    Norm
otter    Otter
purr      Purr
queue  Queue
robin    Robin
silver    Silver
tally       Tally
urgent  Urgent
verb       Verb
willow   Willow
x-ray      X-ray
yard       Yard
zebra     Zebra

 

 

 

 

Java, Programming

  • Category:- Java
  • Reference No.:- M92528167
  • Price:- $50

Priced at Now at $50, Verified Solution

Have any Question?


Related Questions in Java

Chatbotscreate a small networked chat application that is

Chatbots Create a small, networked chat application that is populated by bots. Introduction On an old server park, filled with applications from the early days of the internet, a few servers still run one of the earliest ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Assignment game prototypeoverviewfor this assessment task

Assignment: Game Prototype Overview For this assessment task you are expected to construct a prototype level/area as a "proof of concept" for the game that you have designed in Assignment 1. The prototype should function ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

In relation to javaa what is constructor the purpose of

(In relation to Java) A. What is constructor? the purpose of default constructor? B. How do you get a copy of the object but not the reference of the object? C. What are static variables and instance variables? D. Compar ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

Fundamentals of operating systems and java

Fundamentals of Operating Systems and Java Programming Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements ...

Assessment -java program using array of Assessment -JAVA Program using array of objects

Assessment -JAVA Program using array of objects Objectives This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details For this assignment, you are required to develop a Windowed G ...

Applied software engineering assignment 1 -learning

Applied Software Engineering Assignment 1 - Learning outcomes - 1. Understand the notion of software engineering and why it is important. 2. Analyse the risk factors associated with phases of the software development lif ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As