|
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
InvalidKeyExceptionprotected 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 | |||||||