sim.util
Class Heap

java.lang.Object
  extended by sim.util.Heap
All Implemented Interfaces:
java.io.Serializable

public class Heap
extends java.lang.Object
implements java.io.Serializable

Implementations of Heap functions in Java. This code is derived from the HeapSort example algorithm in Introduction to algorithms by Cormen, Leiserson and Rivest. Intentionally very simple.

See Also:
Serialized Form

Constructor Summary
Heap()
           
Heap(java.lang.Comparable[] keys, java.lang.Object[] objects)
           
 
Method Summary
 void add(java.lang.Object elem, java.lang.Comparable key)
          Adds an element to the heap with the given key.
 void clear()
           
 java.lang.Object extractMin()
          Removes the first minimum element and its key from the heap, and returns the minimum element.
 Bag extractMin(Bag putInHere)
          Removes all key-equal minimum elements and adds them to a Bag, which is then is returned.
 java.lang.Comparable getMinKey()
          Returns the key value of the current min element.
 boolean isEmpty()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Heap

public Heap()

Heap

public Heap(java.lang.Comparable[] keys,
            java.lang.Object[] objects)
Method Detail

getMinKey

public java.lang.Comparable getMinKey()
Returns the key value of the current min element. Returns null if there is no such element. Does not extract the element.


extractMin

public Bag extractMin(Bag putInHere)
Removes all key-equal minimum elements and adds them to a Bag, which is then is returned. You may provide a Bag -- putInHere -- to be filled in.


extractMin

public java.lang.Object extractMin()
Removes the first minimum element and its key from the heap, and returns the minimum element. Will return null if the heap is empty


add

public void add(java.lang.Object elem,
                java.lang.Comparable key)
Adds an element to the heap with the given key.


isEmpty

public boolean isEmpty()

clear

public void clear()