net.datastructures
Class HeapAdaptablePriorityQueue<K,V>

java.lang.Object
  extended by net.datastructures.HeapPriorityQueue<K,V>
      extended by net.datastructures.HeapAdaptablePriorityQueue<K,V>
All Implemented Interfaces:
AdaptablePriorityQueue<K,V>, PriorityQueue<K,V>

public class HeapAdaptablePriorityQueue<K,V>
extends HeapPriorityQueue<K,V>
implements AdaptablePriorityQueue<K,V>

Realization of an adaptable priority queue by means of a heap. Much functionality is inherited.

Author:
Eric Zamore
See Also:
HeapPriorityQueue

Constructor Summary
HeapAdaptablePriorityQueue()
          Creates an empty heap with a default comparator.
HeapAdaptablePriorityQueue(java.util.Comparator<K> comp)
          Creates an empty heap with the given comparator.
 
Method Summary
 Entry<K,V> insert(K k, V v)
          Inserts a key-value pair and returns the entry created.
 Entry<K,V> remove(Entry<K,V> entry)
          Removes and returns the given entry from the heap.
 K replaceKey(Entry<K,V> entry, K k)
          Replaces the key of the given entry.
 V replaceValue(Entry<K,V> e, V value)
          Replaces the value of the given entry.
 
Methods inherited from class net.datastructures.HeapPriorityQueue
isEmpty, min, removeMin, setComparator, size, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.datastructures.PriorityQueue
isEmpty, min, removeMin, size
 

Constructor Detail

HeapAdaptablePriorityQueue

public HeapAdaptablePriorityQueue()
Creates an empty heap with a default comparator.


HeapAdaptablePriorityQueue

public HeapAdaptablePriorityQueue(java.util.Comparator<K> comp)
Creates an empty heap with the given comparator.

Method Detail

insert

public Entry<K,V> insert(K k,
                         V v)
                  throws InvalidKeyException
Inserts a key-value pair and returns the entry created.

Specified by:
insert in interface PriorityQueue<K,V>
Overrides:
insert in class HeapPriorityQueue<K,V>
Throws:
InvalidKeyException

remove

public Entry<K,V> remove(Entry<K,V> entry)
                  throws InvalidEntryException
Removes and returns the given entry from the heap.

Specified by:
remove in interface AdaptablePriorityQueue<K,V>
Throws:
InvalidEntryException

replaceKey

public K replaceKey(Entry<K,V> entry,
                    K k)
             throws InvalidEntryException
Replaces the key of the given entry.

Specified by:
replaceKey in interface AdaptablePriorityQueue<K,V>
Throws:
InvalidEntryException

replaceValue

public V replaceValue(Entry<K,V> e,
                      V value)
               throws InvalidEntryException
Replaces the value of the given entry.

Specified by:
replaceValue in interface AdaptablePriorityQueue<K,V>
Throws:
InvalidEntryException