Package algs24
Class MinPQ<K extends Comparable<? super K>>
java.lang.Object
algs24.MinPQ<K>
- All Implemented Interfaces:
- Iterable<K>
The 
MinPQ class represents a priority queue of generic keys.
  It supports the usual insert and delete-the-minimum
  operations, along with methods for peeking at the maximum key,
  testing if the priority queue is empty, and iterating through
  the keys.
  The insert and delete-the-minimum operations take logarithmic amortized time. The min, size, and is-empty operations take constant time. Construction takes time proportional to the specified capacity or the number of items used to initialize the data structure.
This implementation uses a binary heap.
For additional documentation, see Section 2.4 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionMinPQ()Create an empty priority queue.MinPQ(int initCapacity) Create an empty priority queue with the given initial capacity.MinPQ(int initCapacity, Comparator<? super K> comparator) MinPQ(Comparator<? super K> comparator) Create an empty priority queue using the given comparator.Create a priority queue with the given items.
- 
Method SummaryModifier and TypeMethodDescriptiondelMin()Delete and return the smallest key on the priority queue.voidAdd a new key to the priority queue.booleanisEmpty()Is the priority queue empty?iterator()Return an iterator that iterates over all of the keys on the priority queue in ascending order.static voidmin()Return the smallest key on the priority queue.intsize()Return the number of items on the priority queue.Methods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Field Details- 
DEBUGA test client.
 
- 
- 
Constructor Details- 
MinPQ
- 
MinPQCreate an empty priority queue with the given initial capacity.
- 
MinPQCreate an empty priority queue using the given comparator.
- 
MinPQpublic MinPQ()Create an empty priority queue.
- 
MinPQCreate a priority queue with the given items. Takes time proportional to the number of items using sink-based heap construction.
 
- 
- 
Method Details- 
isEmptyIs the priority queue empty?
- 
sizeReturn the number of items on the priority queue.
- 
minReturn the smallest key on the priority queue.- Throws:
- NoSuchElementException- if the priority queue is empty.
 
- 
insertAdd a new key to the priority queue.
- 
delMinDelete and return the smallest key on the priority queue.- Throws:
- NoSuchElementException- if the priority queue is empty.
 
- 
iteratorReturn an iterator that iterates over all of the keys on the priority queue in ascending order.The iterator doesn't implement remove()since it's optional.- Specified by:
- iteratorin interface- Iterable<K extends Comparable<? super K>>
 
- 
main
 
-