org.hsqldb.lib
Interface HsqlHeap

All Known Implementing Classes:
HsqlArrayHeap

public interface HsqlHeap

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).

Since:
1.7.2
Version:
1.7.2
Author:
boucherb@users.sourceforge.net

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

clear

public void clear()
Removes all of the elements from this Heap.


isEmpty

public boolean isEmpty()
Retrieves whether this Heap is empty.


isFull

public boolean isFull()
Retrieves whether this Heap is full.


add

public void add(Object o)
         throws IllegalArgumentException,
                RuntimeException
Adds the specified element to this Heap.

Parameters:
o - The element to add
Throws:
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

peek

public Object peek()
Retrieves the least element from this Heap, without removing it.

Returns:
the least element from this Heap

remove

public Object remove()
Retrieves the least element from this Heap, removing it in the process.

Returns:
the least element from this Heap

size

public int size()
Retrieves the number of elements currently in this Heap.

Returns:
the number of elements currently in this Heap


Copyright © 2001 - 2004 HSQL Development Group. All Rights Reserved.