|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Provides the base HSQLDB interface for Heap ADT implementations.
In this context, a Heap is simply a collection-like ADT that allows addition of elements and provides a way to remove the least element, given some implementation-dependent strategy for imposing an order over its elements.
Typically, an HsqlHeap will be implemented as a tree-like structure that recursively guarantees a Heap Invariant, such that all nodes below the root are greater than the root, given some comparison stragegy.
This in turn provides the basis for an efficient implementation of ADTs such PriorityQueue, since Heap operations using the typical implementation are, in theory, guaranteed to be O(log n).
Method Summary | |
void |
add(Object o)
Adds the specified element to this Heap. |
void |
clear()
Removes all of the elements from this Heap. |
boolean |
isEmpty()
Retrieves whether this Heap is empty. |
boolean |
isFull()
Retrieves whether this Heap is full. |
Object |
peek()
Retrieves the least element from this Heap, without removing it. |
Object |
remove()
Retrieves the least element from this Heap, removing it in the process. |
int |
size()
Retrieves the number of elements currently in this Heap. |
Method Detail |
public void clear()
public boolean isEmpty()
public boolean isFull()
public void add(Object o) throws IllegalArgumentException, RuntimeException
o
- The element to add
IllegalArgumentException
- if the implementation does
not accept elements of the supplied type (optional)
throws HsqlUnsupportedOperationException if the implementation
dictates that this Heap is not currently accepting additions
or that this Heap is currently full (optional)
RuntimeException
public Object peek()
public Object remove()
public int size()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |