All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class DataStructures.PairHeap

java.lang.Object
   |
   +----DataStructures.PairHeap

public class PairHeap
extends java.lang.Object
implements DataStructures.PriorityQueue
Implements a pairing heap. Supports a decreaseKey operation, but requires use of addItem instead of insert. Heap order is always maintained; no lazy operations allowed. Note that all "matching" is based on the compares method.

See Also:
PairNode

Constructor Index

 o PairHeap()
Construct the pairing heap.

Method Index

 o addItem(Comparable)
Insert into the priority queue, and return a PairNode that can be used by decreaseKey.
 o decreaseKey(PairNode, Comparable)
Change the value of the item stored in the pairing heap.
 o deleteMin()
Remove the smallest item from the priority queue.
 o findMin()
Find the smallest item in the priority queue.
 o insert(Comparable)
Insert into the priority queue.
 o isEmpty()
Test if the priority queue is logically empty.
 o main(String[])
 o makeEmpty()
Make the priority queue logically empty.

Constructors

 o PairHeap
 public PairHeap()
Construct the pairing heap.

Methods

 o insert
 public void insert(Supporting.Comparable x)
Insert into the priority queue. Duplicates are allowed.

Parameters:
x - the item to insert.
 o addItem
 public DataStructures.PairNode addItem(Supporting.Comparable x)
Insert into the priority queue, and return a PairNode that can be used by decreaseKey. Duplicates are allowed.

Parameters:
x - the item to insert.
Returns:
the node containing the newly inserted item.
 o findMin
 public Supporting.Comparable findMin() throws Exceptions.Underflow
Find the smallest item in the priority queue.

Returns:
the smallest item.
Throws: Underflow
if the priority queue is empty.
 o deleteMin
 public Supporting.Comparable deleteMin() throws Exceptions.Underflow
Remove the smallest item from the priority queue.

Throws: Underflow
if the priority queue is empty.
 o decreaseKey
 public void decreaseKey(DataStructures.PairNode p,
                         Supporting.Comparable newVal) throws Exceptions.IllegalValue
Change the value of the item stored in the pairing heap.

Parameters:
p - any node returned by addItem.
newVal - the new value, which must be smaller than the currently stored value.
Throws: IllegalValue
if newVal is larger than the currently stored value.
 o isEmpty
 public boolean isEmpty()
Test if the priority queue is logically empty.

Returns:
true if empty, false otherwise.
 o makeEmpty
 public void makeEmpty()
Make the priority queue logically empty.

 o main
 public static void main(java.lang.String args[])

All Packages  Class Hierarchy  This Package  Previous  Next  Index