Interface DoubleLongHeap
-
- All Known Implementing Classes:
DoubleLongMaxHeap
,DoubleLongMinHeap
public interface DoubleLongHeap
Basic in-memory heap interface, for double keys and long values.This class is generated from a template.
- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
DoubleLongHeap.UnsortedIter
Unsorted iterator - in heap order.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(double key, long val)
Add a key-value pair to the heapvoid
add(double key, long val, int k)
Add a key-value pair to the heap if it improves the top.void
clear()
Clear the heap contents.boolean
containsKey(double q)
Contains operation for a key (slow: with a linear scan).boolean
containsValue(long q)
Contains operation for a value (slow: with a linear scan).boolean
isEmpty()
Is the heap empty?double
peekKey()
Get the current top key.long
peekValue()
Get the current top value.void
poll()
Remove the first element.void
replaceTopElement(double key, long val)
Combined operation that removes the top element, and inserts a new element instead.int
size()
Query the size.DoubleLongHeap.UnsortedIter
unsortedIter()
Get an unsorted iterator to inspect the heap.
-
-
-
Method Detail
-
add
void add(double key, long val)
Add a key-value pair to the heap- Parameters:
key
- Keyval
- Value
-
add
void add(double key, long val, int k)
Add a key-value pair to the heap if it improves the top.- Parameters:
key
- Keyval
- Valuek
- Desired maximum size
-
replaceTopElement
void replaceTopElement(double key, long val)
Combined operation that removes the top element, and inserts a new element instead.- Parameters:
key
- Key of new elementval
- Value of new element
-
peekKey
double peekKey()
Get the current top key.- Returns:
- Top key
-
peekValue
long peekValue()
Get the current top value.- Returns:
- Value
-
containsKey
boolean containsKey(double q)
Contains operation for a key (slow: with a linear scan).- Parameters:
q
- Key- Returns:
true
if the key is contained in the heap.
-
containsValue
boolean containsValue(long q)
Contains operation for a value (slow: with a linear scan).- Parameters:
q
- Value- Returns:
true
if the value is contained in the heap.
-
poll
void poll()
Remove the first element.
-
clear
void clear()
Clear the heap contents.
-
size
int size()
Query the size.- Returns:
- Size
-
isEmpty
boolean isEmpty()
Is the heap empty?- Returns:
true
when the size is 0.
-
unsortedIter
DoubleLongHeap.UnsortedIter unsortedIter()
Get an unsorted iterator to inspect the heap.- Returns:
- Iterator
-
-