Class DoubleIntegerMaxHeap
- java.lang.Object
 - 
- elki.utilities.datastructures.heap.DoubleIntegerMaxHeap
 
 
- 
- All Implemented Interfaces:
 DoubleIntegerHeap
public class DoubleIntegerMaxHeap extends java.lang.Object implements DoubleIntegerHeap
Binary heap 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 Class Description private classDoubleIntegerMaxHeap.UnsortedIterUnsorted iterator - in heap order. 
- 
Field Summary
Fields Modifier and Type Field Description protected intsizeCurrent size of heap.private static intTWO_HEAP_INITIAL_SIZEInitial size of the 2-ary heap.protected double[]twoheapBase heap.protected int[]twovalsBase heap values. 
- 
Constructor Summary
Constructors Constructor Description DoubleIntegerMaxHeap()Constructor, with default size.DoubleIntegerMaxHeap(int minsize)Constructor, with given minimum size. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(double o, int v)Add a key-value pair to the heapvoidadd(double key, int val, int max)Add a key-value pair to the heap if it improves the top.voidclear()Clear the heap contents.booleancontainsKey(double q)Contains operation for a key (slow: with a linear scan).booleancontainsValue(int q)Contains operation for a value (slow: with a linear scan).private voidheapifyDown(double cur, int val)Invoke heapify-down for the root object.private voidheapifyUp(int twopos, double cur, int val)Heapify-Up method for 2-ary heap.booleanisEmpty()Is the heap empty?doublepeekKey()Get the current top key.intpeekValue()Get the current top value.voidpoll()Remove the first element.voidreplaceTopElement(double reinsert, int val)Combined operation that removes the top element, and inserts a new element instead.intsize()Query the size.java.lang.StringtoString()DoubleIntegerMaxHeap.UnsortedIterunsortedIter()Get an unsorted iterator to inspect the heap. 
 - 
 
- 
- 
Field Detail
- 
twoheap
protected double[] twoheap
Base heap. 
- 
twovals
protected int[] twovals
Base heap values. 
- 
size
protected int size
Current size of heap. 
- 
TWO_HEAP_INITIAL_SIZE
private static final int TWO_HEAP_INITIAL_SIZE
Initial size of the 2-ary heap.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
clear
public void clear()
Description copied from interface:DoubleIntegerHeapClear the heap contents.- Specified by:
 clearin interfaceDoubleIntegerHeap
 
- 
size
public int size()
Description copied from interface:DoubleIntegerHeapQuery the size.- Specified by:
 sizein interfaceDoubleIntegerHeap- Returns:
 - Size
 
 
- 
isEmpty
public boolean isEmpty()
Description copied from interface:DoubleIntegerHeapIs the heap empty?- Specified by:
 isEmptyin interfaceDoubleIntegerHeap- Returns:
 truewhen the size is 0.
 
- 
add
public void add(double o, int v)Description copied from interface:DoubleIntegerHeapAdd a key-value pair to the heap- Specified by:
 addin interfaceDoubleIntegerHeap- Parameters:
 o- Keyv- Value
 
- 
add
public void add(double key, int val, int max)Description copied from interface:DoubleIntegerHeapAdd a key-value pair to the heap if it improves the top.- Specified by:
 addin interfaceDoubleIntegerHeap- Parameters:
 key- Keyval- Valuemax- Desired maximum size
 
- 
replaceTopElement
public void replaceTopElement(double reinsert, int val)Description copied from interface:DoubleIntegerHeapCombined operation that removes the top element, and inserts a new element instead.- Specified by:
 replaceTopElementin interfaceDoubleIntegerHeap- Parameters:
 reinsert- Key of new elementval- Value of new element
 
- 
heapifyUp
private void heapifyUp(int twopos, double cur, int val)Heapify-Up method for 2-ary heap.- Parameters:
 twopos- Position in 2-ary heap.cur- Current objectval- Current value
 
- 
poll
public void poll()
Description copied from interface:DoubleIntegerHeapRemove the first element.- Specified by:
 pollin interfaceDoubleIntegerHeap
 
- 
heapifyDown
private void heapifyDown(double cur, int val)Invoke heapify-down for the root object.- Parameters:
 cur- Object to insert.val- Value to reinsert.
 
- 
peekKey
public double peekKey()
Description copied from interface:DoubleIntegerHeapGet the current top key.- Specified by:
 peekKeyin interfaceDoubleIntegerHeap- Returns:
 - Top key
 
 
- 
peekValue
public int peekValue()
Description copied from interface:DoubleIntegerHeapGet the current top value.- Specified by:
 peekValuein interfaceDoubleIntegerHeap- Returns:
 - Value
 
 
- 
containsKey
public boolean containsKey(double q)
Description copied from interface:DoubleIntegerHeapContains operation for a key (slow: with a linear scan).- Specified by:
 containsKeyin interfaceDoubleIntegerHeap- Parameters:
 q- Key- Returns:
 trueif the key is contained in the heap.
 
- 
containsValue
public boolean containsValue(int q)
Description copied from interface:DoubleIntegerHeapContains operation for a value (slow: with a linear scan).- Specified by:
 containsValuein interfaceDoubleIntegerHeap- Parameters:
 q- Value- Returns:
 trueif the value is contained in the heap.
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object
 
- 
unsortedIter
public DoubleIntegerMaxHeap.UnsortedIter unsortedIter()
Description copied from interface:DoubleIntegerHeapGet an unsorted iterator to inspect the heap.- Specified by:
 unsortedIterin interfaceDoubleIntegerHeap- Returns:
 - Iterator
 
 
 - 
 
 -