|
net.datastructures - version 5.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.datastructures.HeapPriorityQueue<K,V>
public class HeapPriorityQueue<K,V>
Realization of a priority queue by means of a heap. A complete binary tree realized by means of an array list is used to represent the heap. //end#fragment HeapPriorityQueue
Nested Class Summary | |
---|---|
protected static class |
HeapPriorityQueue.MyEntry<K,V>
Inner class for heap entries. |
Field Summary | |
---|---|
protected Comparator<K> |
comp
|
protected CompleteBinaryTree<Entry<K,V>> |
heap
|
Constructor Summary | |
---|---|
HeapPriorityQueue()
Creates an empty heap with the default comparator |
|
HeapPriorityQueue(Comparator<K> c)
Creates an empty heap with the given comparator |
Method Summary | |
---|---|
protected void |
checkKey(K key)
Determines whether a given key is valid |
protected void |
downHeap(Position<Entry<K,V>> r)
Performs down-heap bubbling |
Entry<K,V> |
insert(K k,
V x)
Inserts a key-value pair and returns the entry created |
boolean |
isEmpty()
Returns whether the heap is empty |
Entry<K,V> |
min()
Returns but does not remove an entry with minimum key |
Entry<K,V> |
removeMin()
Removes and returns an entry with minimum key |
void |
setComparator(Comparator<K> c)
Sets the comparator used for comparing items in the heap. |
int |
size()
Returns the size of the heap |
protected void |
swap(Position<Entry<K,V>> x,
Position<Entry<K,V>> y)
Swaps the entries of the two given positions |
String |
toString()
Text visualization for debugging purposes |
protected void |
upHeap(Position<Entry<K,V>> v)
Performs up-heap bubbling |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected CompleteBinaryTree<Entry<K,V>> heap
protected Comparator<K> comp
Constructor Detail |
---|
public HeapPriorityQueue()
public HeapPriorityQueue(Comparator<K> c)
Method Detail |
---|
public void setComparator(Comparator<K> c) throws IllegalStateException
IllegalStateException
- if priority queue is not emptypublic int size()
size
in interface PriorityQueue<K,V>
public boolean isEmpty()
isEmpty
in interface PriorityQueue<K,V>
public Entry<K,V> min() throws EmptyPriorityQueueException
min
in interface PriorityQueue<K,V>
EmptyPriorityQueueException
public Entry<K,V> insert(K k, V x) throws InvalidKeyException
insert
in interface PriorityQueue<K,V>
InvalidKeyException
public Entry<K,V> removeMin() throws EmptyPriorityQueueException
removeMin
in interface PriorityQueue<K,V>
EmptyPriorityQueueException
protected void checkKey(K key) throws InvalidKeyException
InvalidKeyException
protected void upHeap(Position<Entry<K,V>> v)
protected void downHeap(Position<Entry<K,V>> r)
protected void swap(Position<Entry<K,V>> x, Position<Entry<K,V>> y)
public String toString()
toString
in class Object
|
net.datastructures - version 5.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |