Part B - Priority Queue
For this part of the assignment, you are to implement a priority queue using the Binary Heap. You will need to create the following:
• insert(...)
• maximum()
• increase key(...)
Feel free to name these functions as you see fit. You are also welcome to create
any other methods that may be helpful in your implementation. Keep in mind,
one way to extend the heap is through inheritance (if useful).
Use the implementation of the priority queue to:
(a) Add items to the list.
(b) Pop off a few items, but not the whole list. The items that were extracted
should be sorted by highest priority.
(c) Add a few items that are low priority.
(d) Add a few items that are high priority.
(e) Pop items off the list and you should see the high priority items show up
before the low priority items.
Here is code below in addition to the BinaryHeap.java (attached):



Step by stepSolved in 2 steps

- efficiency ! Write a function to be included in an unsorted doubly linked list class, called deleteLast, that will delete the last node in the list. Assume that there is only pointer first (no last pointer).arrow_forwardJava Implement Stack using Deque (doubly linked list) You must create an array and the user can insert elements into this array and can only access or remove the newly inserted element from the array. The array is executed using a doubly linked list. The following Project should have these classes: 1. Class Book: The main Node for the deque array where it should have the following attributes besides (next, prev nodes): a) Book Id b) Book Name c) Book Author 2. Class Booklists: Where all the main operations are done. You need to apply these following operations: 1) AddBook() [push(0) : The method Inserts the book object into deque Stack (form the last). 2) RemoveBook() [pop()] : This method extracts an object from the last of the Deque stack and it removes it. If such object does not exist, the method returns null.(from the last) 3) isEmpty() : Return True if deque stack is Empty else return False. 4) DisplayAlIBooks() : Print all the books in the deque stack. 5) getlistsize(): Return…arrow_forwardDesign an implementation of an Abstract Data Type consisting of a set with the following operations: insert(S, x) Insert x into the set S. delete(S, x) Delete x fromthe set S. member(S, x) Return true if x ∈ S, false otherwise. position(S, x) Return the number of elements of S less than x. concatenate(S, T) Set S to the union of S and T, assuming every element in S is smaller than every element of T. All operations involving n-element sets are to take time O(log n).arrow_forward
- In this project you will implement a Set class which represents a general collection of values. For this assignment, a set is generally defined as a list of values that is sorted and does not contain any duplicate values. More specifically, a set shall contain no pair of elements e1 and e2 such that e1.equals(e2) and no null elements. Requirements To ensure consistency among all implementations there are some requirements that all implementations must maintain. • Your implementation should reflect the definition of a set at all times. • For simplicity, your set will be used to store Integer objects. • An ArrayList object must be used to represent the set. • All methods that have an object parameter must be able to handle an input of null. • Methods such as Collections.sort that automatically sort a list may not be used. • The Set class shall reside in the default package. Recommendations There are deviations in program implementation that are acceptable and will not impact the overall…arrow_forwardYou will create two programs. The first one will use the data structure Stack and the other program will use the data structure Queue. Keep in mind that you should already know from your video and free textbook that Java uses a LinkedList integration for Queue. Stack Program Create a deck of cards using an array (Array size 15). Each card is an object. So you will have to create a Card class that has a value (1 - 10, Jack, Queen, King, Ace) and suit (clubs, diamonds, heart, spade). You will create a stack and randomly pick a card from the deck to put be pushed onto the stack. You will repeat this 5 times. Then you will take cards off the top of the stack (pop) and reveal the values of the cards in the output. As a challenge, you may have the user guess the value and suit of the card at the bottom of the stack. Queue Program There is a new concert coming to town. This concert is popular and has a long line. The line uses the data structure Queue. The people in the line are objects…arrow_forward