This assignment is for you to gain hands-on experiences of our weekly (week 9) covered topics including Queue, Heap, and Priority Queue. In this assignment, you need to write Java programs that meet the following requirements:
=== Basic Requirements (100 ‘pts) ===
1) (50 ‘pts) Implement a MyQueue class that supports the following interfaces within O(1) time:
1.1) int size(); //return the total number of stored elements
1.2) boolean isEmpty(); //return if the queue is empty
1.3) void offer(E val); //enqueue an element val for generic type E
1.4) E poll(); //remove head and return the removed value, return null if isEmpty()
1.5) E peek(); //return head, return null if isEmpty()
2) (50 ‘pts) Based on our class demonstration of MinHeap implementation, write a MaxHeap class that at least supports all the queue interfaces stated above as in 1).
=== Bonus (20 ‘pts) ===
a) (10 ‘pts) In the above requirement 2) MaxHeap, can you implement a class method: heapify(E[] arr) that takes in an array input, and transfer that array into a max heap?
b) (10 ‘pts) Inspired by the above practices, now revisite Leetcode 912. Sort An Array, this time use heap sort to conquer this coding challenge. Make sure your submission passes all Leetcode test cases.
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more