Class PaCoTrieDistributor<T>
- All Implemented Interfaces:
Function<T,
,Long> Object2LongFunction<T>
,Size64
,Serializable
,Function<T,
,Long> ToLongFunction<T>
Instances of this class represent a partial compacted trie (PaCo trie). In such a trie, just a prefix of the path at each node is actually stored: then, we just store the number of missing bits.
The main purpose of PaCo tries is to serve as distributors for other data structures: given a set of delimiters D of a set S, a PaCo trie will rank an elements x of S over D, that is, it will return how many elements of D strictly precede x. To do so, a PaCo trie records at each node the smallest possible prefix that make it possible to rank correctly the whole of S: depending on the strings in S, the savings in space can be more or less significant.
An instance of this class stores a trie as a recursive bitstream: a node x with subtrees A and B is stored as
- Author:
- Sebastiano Vigna
- See Also:
-
Field Summary
Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defRetValue
-
Constructor Summary
ConstructorDescriptionPaCoTrieDistributor
(Iterable<? extends T> elements, int log2BucketSize, TransformationStrategy<? super T> transformationStrategy) Creates a partial compacted trie using given elements, bucket size and transformation strategy. -
Method Summary
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defaultReturnValue, defaultReturnValue
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2LongFunction
andThen, andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, applyAsLong, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort, get, getOrDefault, getOrDefault, put, put, remove, removeLong
-
Constructor Details
-
PaCoTrieDistributor
public PaCoTrieDistributor(Iterable<? extends T> elements, int log2BucketSize, TransformationStrategy<? super T> transformationStrategy) throws IOException Creates a partial compacted trie using given elements, bucket size and transformation strategy.- Parameters:
elements
- the elements among which the trie must be able to rank.log2BucketSize
- the logarithm of the size of a bucket.transformationStrategy
- a transformation strategy that must turn the elements inelements
into a list of distinct, lexicographically increasing (in iteration order) bit vectors.- Throws:
IOException
-
-
Method Details
-
getLong
- Specified by:
getLong
in interfaceObject2LongFunction<T>
-
numBits
public long numBits() -
containsKey
- Specified by:
containsKey
in interfaceFunction<T,
Long>
-
size64
public long size64() -
size
Deprecated.
-