Class BigIntegerRadixAddressableHeap<V>

java.lang.Object
org.jheaps.monotone.BigIntegerRadixAddressableHeap<V>
Type Parameters:
V - the type of values maintained by this heap
All Implemented Interfaces:
Serializable, AddressableHeap<BigInteger,V>

public class BigIntegerRadixAddressableHeap<V> extends Object
An addressable radix heap for BigInteger keys. The heap stores BigInteger keys sorted according to the natural ordering of its keys. A radix heap is a monotone heap, especially designed for algorithms (such as Dijkstra) which scan elements in order of nondecreasing keys.

The implementation use arrays in order to store the elements. Operations insert and findMin are worst-case constant time. The cost of operation deleteMin is amortized O(logC) assuming the radix-heap contains keys in the range [0, C] or equivalently [a,a+C].

Note that this implementation is not synchronized. If multiple threads access a heap concurrently, and at least one of the threads modifies the heap structurally, it must be synchronized externally. (A structural modification is any operation that adds or deletes one or more elements or changing the key of some element.) This is typically accomplished by synchronizing on some object that naturally encapsulates the heap.

Author:
Dimitrios Michail
See Also: