Package placement
Class MinPairingHeap<T extends Comparable<T>>
java.lang.Object
placement.MinPairingHeap<T>
public class MinPairingHeap<T extends Comparable<T>> extends Object
Implements a pairing heap. Supports a increaseKey operation. Note that all
"matching" is based on the compareTo method. Based on implementation by Mark
Allen Weiss from the book "Data Stuctures & Algorithm Analysis in Java" -
Prentice Hall 1999
-
Constructor Summary
Constructors Constructor Description MinPairingHeap()Construct the pairing heap. -
Method Summary
Modifier and Type Method Description voiddecreaseKey(PNode<T> p, T newVal)Change the value of the item stored in the pairing heap.TdeleteMin()Remove the smallest item from the priority queue.TfindMin()Find the smallest item in the priority queue.PNode<T>insert(T x)Insert into the priority queue, and return a PNode that can be used by decreaseKey.booleanisEmpty()Test if the priority queue is logically empty.static voidmain(String[] args)voidmakeEmpty()Make the priority queue logically empty.
-
Constructor Details
-
MinPairingHeap
public MinPairingHeap()Construct the pairing heap.
-
-
Method Details
-
insert
Insert into the priority queue, and return a PNode that can be used by decreaseKey. Duplicates are allowed.- Parameters:
x- the item to insert.- Returns:
- the PNode containing the newly inserted item.
-
findMin
Find the smallest item in the priority queue.- Returns:
- the smallest item, or null if empty.
-
deleteMin
Remove the smallest item from the priority queue.- Returns:
- the smallest item, or null if empty.
-
decreaseKey
Change the value of the item stored in the pairing heap. Does nothing if newVal is larger than the currently stored value.- Parameters:
p- any PNode returned by addItem.newVal- the new value, which must be smaller than the currently stored value.
-
isEmpty
public boolean isEmpty()Test if the priority queue is logically empty.- Returns:
- true if empty, false otherwise.
-
makeEmpty
public void makeEmpty()Make the priority queue logically empty. -
main
-