it.unimi.dsi.sux4j.mph
Class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
java.lang.Object
it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<K>
it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
it.unimi.dsi.sux4j.mph.ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
- All Implemented Interfaces:
- Function<T,Long>, Object2LongFunction<T>, Serializable
public class ZFastTrieDistributorMonotoneMinimalPerfectHashFunction<T>
- extends AbstractHashFunction<T>
- implements Serializable
A monotone minimal perfect hash implementation based on fixed-size bucketing that uses
a z-fast trie as a distributor.
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
serialVersionUID
public static final long serialVersionUID
- See Also:
- Constant Field Values
ZFastTrieDistributorMonotoneMinimalPerfectHashFunction
public ZFastTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> elements,
TransformationStrategy<? super T> transform)
throws IOException
- Creates a new hollow-trie-based monotone minimal perfect hash function using the given
elements and transformation strategy.
- Parameters:
elements - the elements among which the trie must be able to rank.transform - a transformation strategy that must turn the elements in elements into a list of
distinct, prefix-free, lexicographically increasing (in iteration order) bit vectors.
- Throws:
IOException
ZFastTrieDistributorMonotoneMinimalPerfectHashFunction
public ZFastTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> elements,
TransformationStrategy<? super T> transform,
int log2BucketSize)
throws IOException
- Creates a new hollow-trie-based monotone minimal perfect hash function using the given
elements, transformation strategy and bucket size.
This constructor is mainly for debugging and testing purposes.
- Parameters:
elements - the elements among which the trie must be able to rank.transform - a transformation strategy that must turn the elements in elements into a list of
distinct, prefix-free, lexicographically increasing (in iteration order) bit vectors.log2BucketSize - the logarithm of the bucket size.
- Throws:
IOException
getLong
public long getLong(Object o)
- Specified by:
getLong in interface Object2LongFunction<T>
size
public int size()
- Specified by:
size in interface Function<T,Long>- Overrides:
size in class AbstractHashFunction<T>
numBits
public long numBits()
main
public static void main(String[] arg)
throws NoSuchMethodException,
IOException,
JSAPException
- Throws:
NoSuchMethodException
IOException
JSAPException