-
AbstractHeap provides a skeletal implementation of
the
Heap interface, to minimize the effort required
to implement this interface.
This class provides a skeletal implementation of the
MultiMap
interface, to minimize the effort requires to implement this interface.
A
BinaryTree is a
Tree where each node has
at most two children.
A
BinomialHeap allows
O(lg n) time bounds for insert, minimum, extract-min, union,
decrease-key, and delete operations.
CollectionWrapper is a class that acts as a wrapper
around another Collection, using it as its backing store.
An
Environment is a
Map with scoping:
you can save marks into the environment and undo all changes
since a mark.
A mark into an environment.
A
FibonacciHeap allows amortized O(1) time bounds for
create, insert, minimum, union, and decrease-key operations, and
amortized O(lg n) run times for extract-min and delete.
A
FilterIterator filters and maps a source
Iterator to generate a new one: it returns
map.apply(o) for each element
o of the
source for which
filter.test(o) is true.
Heaps support create, insert, minimum, extract-min,
union, decrease-key, and delete operations.
Indexer is an object for extracting unique indices
for a set of objects.
Immutable record representing a closed interval
[low,high] holding an object
obj.
An
InvertibleMap is an extension of the
Map interface to allow users to do reverse lookups on
the mappings maintained.
LinearSet is a simplistic light-weight
Set designed for use when the number of entries is
small.
MapWrapper is a class that acts as a proxy for
another backing map, to allow for easy extension of
Map functionality while not restricting developers to
one particular
Map implementation.
MultiMap maps a key to a collection of values.
PersistentMap implements a persistent map, based on a
persistent randomized treap.
PersistentSet implements a persistent set, based on a
persistent randomized treap.
A
SnapshotIterator takes a "snapshot" of an iterator,
and iterates over that snapshot.
A unique vector refuses to addElement duplicates.
UnmodifiableMultiMap is an abstract superclass to
save developers the trouble of implementing the various mutator
methds of the
MultiMap interface.
BitSet, which grows as needed:firstSet(where)isnextSetBit(where+1), andlastSet(where)ispreviousSetBit(where-1);setUpTo(bit)isset(0, bit+1), andclearUpTo(bit)isclear(0, bit+1);setAll()isset(0, n)for a sizen;clearAll()isclear();intersectionEmpty(o)is!intersects(o);isZero()isisEmpty();copyBits(o)isclear()thenor(o);numberOfOnes()iscardinality(), andnumberOfOnes(where)isget(0, where+1).cardinality();or_upTo(o, bit)isor(o.get(0, bit+1)).