Interface DoubleIntegerHeap
-
- All Known Implementing Classes:
DoubleIntegerMaxHeap
,DoubleIntegerMinHeap
public interface DoubleIntegerHeap
Basic in-memory heap interface, for double keys and int 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
DoubleIntegerHeap.UnsortedIter
Unsorted iterator - in heap order.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(double key, int val)
Add a key-value pair to the heapvoid
add(double key, int 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(int q)
Contains operation for a value (slow: with a linear scan).boolean
isEmpty()
Is the heap empty?double
peekKey()
Get the current top key.int
peekValue()
Get the current top value.void
poll()
Remove the first element.void
replaceTopElement(double key, int val)
Combined operation that removes the top element, and inserts a new element instead.int
size()
Query the size.DoubleIntegerHeap.UnsortedIter
unsortedIter()
Get an unsorted iterator to inspect the heap.
-
-
-
Method Detail
-
add
void add(double key, int val)
Add a key-value pair to the heap- Parameters:
key
- Keyval
- Value
-
add
void add(double key, int 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, int 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
int 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(int 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
DoubleIntegerHeap.UnsortedIter unsortedIter()
Get an unsorted iterator to inspect the heap.- Returns:
- Iterator
-
-