Heaps
Heaps (Priority Queues in Java)
Heaps are implemented using the PriorityQueue class in Java.
-
Efficient Seek Time: Provides O(1) time complexity for accessing the highest priority element.
PriorityQueue<Integer> pq = new PriorityQueue<>(); pq.add(10); pq.add(20); pq.add(15); System.out.println("Highest priority element: " + pq.peek()); -
Null Elements: Does not allow null elements.
PriorityQueue<Integer> pq = new PriorityQueue<>(); pq.add(null); // throws NullPointerException -
Element Ordering: Elements are ordered based on their natural ordering or by a
Comparatorspecified at the time of queue construction.PriorityQueue<Integer> naturalOrderQueue = new PriorityQueue<>(); PriorityQueue<Integer> customOrderQueue = new PriorityQueue<>(Comparator.reverseOrder());
Heap as a Priority Queue in java
Methods :
-
add(E e)Inserts the specified element into this priority queue. -
offer(E e)Inserts the specified element into this priority queue -
poll()Retrieves and removes the head of this queue, or returns null if this queue is empty.