it.unimi.dsi.sux4j.bits
Class HintedBsearchSelect

java.lang.Object
  extended by it.unimi.dsi.sux4j.bits.HintedBsearchSelect
All Implemented Interfaces:
Select, Serializable

public class HintedBsearchSelect
extends Object
implements Select

A hinted binary-search select implementation.

Instances of this class perform selection using a hinted binary search over an underlying Rank9 instance. We use 12.5% additional space for a small inventory.

See Also:
Serialized Form

Constructor Summary
HintedBsearchSelect(Rank9 rank9)
           
 
Method Summary
 BitVector bitVector()
          Returns the bit vector indexed by this structure.
 long numBits()
          Returns the overall number of bits allocated by this structure.
 long select(long rank)
          Returns the position of the bit of given rank.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HintedBsearchSelect

public HintedBsearchSelect(Rank9 rank9)
Method Detail

select

public long select(long rank)
Description copied from interface: Select
Returns the position of the bit of given rank. Equivalently, returns the greatest position that is preceded by the specified number of ones.

Specified by:
select in interface Select
Parameters:
rank - a rank.
Returns:
the position of the bit of given rank; if no such position exists, −1 is returned.

numBits

public long numBits()
Description copied from interface: Select
Returns the overall number of bits allocated by this structure.

Specified by:
numBits in interface Select
Returns:
the overall number of bits allocated by this structure (not including the bits of the indexed vector).

bitVector

public BitVector bitVector()
Description copied from interface: Select
Returns the bit vector indexed by this structure.

Note that you are not supposed to modify the returned vector.

Specified by:
bitVector in interface Select
Returns:
the bit vector indexed by this structure.