In this homework, you should complete the AdaptablePriorityQueue class from here by providing an implementation of the removeMin, remove, replaceKey, and replaceValue methods, which are currently just stubs. I have already implemented the insert method. The class itself implements an Adaptable Priority Queue, using an ArrayList to store the entries as a Binary Heap. In comments, I have stated the behavior that is expected of the methods you will implement.

The implementations of the new methods should run in O(log n) time, where n is the number of entries in the priority queue. Remember that we are using a binary heap. While Chapter 8 is a general reference for priority queues and heaps, you should note the differences in the implementation being developed here.

Submit the source files into a dropbox in ICON called Homework9. This assignment is due by 11:59 pm on Friday, Nov 18.