Implement methods that perform heap operations

Assignment Help Data Structure & Algorithms
Reference no: EM132095157

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

Add a class named BinaryHeap to the project. This class supports the array representation of binary max heaps. Generic code is optional, apply String values for data, and apply the compareTo( ) method for comparison.

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

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

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.

(Implement a static method named heapFactory ( ). The method takes an array of 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.

Implement a method trim3( ) such that it removes the three largest elements 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.

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

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.

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

Reference no: EM132095157

Questions Cloud

Research on three web analytics tools available to business : Compare the main features of each and suggest the best tool in your opinion for a small to medium sized business.
Real life situation in organizational change : Give strengths and weaknesses of the actions of the penguins. Apply this to a real life situation in organizational change.
Discuss or take into account the applicant age : When can an employer, during an interview with a prospective employee, discuss or take into account the applicant's age?
How successful is shouldice hospital : 1. How successful is Shouldice Hospital? 2. How do you account for its performance?
Implement methods that perform heap operations : Add an application class to the project and test your methods. This class displays the heap array by calling the toString( ) method.
Determining the database development : This chapter discusses serious privacy concerns raised by database marketing. Today's marketers are gathering enormous amounts
What is the veil of ignorance : Then, think about John Rawls' concept of the "Veil of Ignorance." What is the Veil of Ignorance? What is its purpose? Upon what theory is it based?
Avoid any underutilization of normal operation hours : Avoid any underutilization of normal operation hours of each of the two processes. Each of equal importance.
Describe virtual memory : Compare and Contrast Dynamic vs Static memory and where in RAM memory each type of structure is placed. Describe Virtual Memory.

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Implement an open hash table

In this programming assignment you will implement an open hash table and compare the performance of four hash functions using various prime table sizes.

  Use a search tree to find the solution

Explain how will use a search tree to find the solution.

  How to access virtualised applications through unicore

How to access virtualised applications through UNICORE

  Recursive tree algorithms

Write a recursive function to determine if a binary tree is a binary search tree.

  Determine the mean salary as well as the number of salaries

Determine the mean salary as well as the number of salaries.

  Currency conversion development

Currency Conversion Development

  Cloud computing assignment

WSDL service that receives a request for a stock market quote and returns the quote

  Design a gui and implement tic tac toe game in java

Design a GUI and implement Tic Tac Toe game in java

  Recursive implementation of euclids algorithm

Write a recursive implementation of Euclid's algorithm for finding the greatest common divisor (GCD) of two integers

  Data structures for a single algorithm

Data structures for a single algorithm

  Write the selection sort algorithm

Write the selection sort algorithm

  Design of sample and hold amplifiers for 100 msps by using n

The report is divided into four main parts. The introduction about sample, hold amplifier and design, bootstrap switch design followed by simulation results.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd