2023 This assignment is for you to gain hands on experiences of our weekly week 9 covered | Assignment Collections
Computer Science 2023 Object Oriented With Java
2023 This assignment is for you to gain hands on experiences of our weekly week 9 covered | Assignment Collections
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.
We give our students 100% satisfaction with their assignments, which is one of the most important reasons students prefer us to other helpers. Our professional group and planners have more than ten years of rich experience. The only reason is that we have successfully helped more than 100000 students with their assignments on our inception days. Our expert group has more than 2200 professionals in different topics, and that is not all; we get more than 300 jobs every day more than 90% of the assignment get the conversion for payment.