it.unimi.dsi.sux4j.mph
Class HollowTrieDistributorMonotoneMinimalPerfectHashFunction<T>

java.lang.Object
  extended by it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<K>
      extended by it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
          extended by it.unimi.dsi.sux4j.mph.HollowTrieDistributorMonotoneMinimalPerfectHashFunction<T>
All Implemented Interfaces:
Function<T,Long>, Object2LongFunction<T>, Serializable

public class HollowTrieDistributorMonotoneMinimalPerfectHashFunction<T>
extends AbstractHashFunction<T>
implements Serializable

A monotone minimal perfect hash implementation based on fixed-size bucketing that uses a hollow trie as a distributor.

See Also:
Serialized Form

Field Summary
static long serialVersionUID
           
 
Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defRetValue
 
Constructor Summary
HollowTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> elements, TransformationStrategy<? super T> transform)
          Creates a new hollow-trie-based monotone minimal perfect hash function using the given elements and transformation strategy, using the default temporary directory.
HollowTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> elements, TransformationStrategy<? super T> transform, File tempDir)
          Creates a new hollow-trie-based monotone minimal perfect hash function using the given elements, transformation strategy, and temporary directory.
 
Method Summary
 long getLong(Object o)
           
static void main(String[] arg)
           
 long numBits()
           
 int size()
           
 
Methods inherited from class it.unimi.dsi.sux4j.mph.AbstractHashFunction
containsKey
 
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
clear, defaultReturnValue, defaultReturnValue, get, put, put, remove, removeLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

HollowTrieDistributorMonotoneMinimalPerfectHashFunction

public HollowTrieDistributorMonotoneMinimalPerfectHashFunction(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, using the default temporary directory.

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

HollowTrieDistributorMonotoneMinimalPerfectHashFunction

public HollowTrieDistributorMonotoneMinimalPerfectHashFunction(Iterable<? extends T> elements,
                                                               TransformationStrategy<? super T> transform,
                                                               File tempDir)
                                                        throws IOException
Creates a new hollow-trie-based monotone minimal perfect hash function using the given elements, transformation strategy, and temporary directory.

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.
tempDir - a directory for the temporary files created during construction by the HollowTrieDistributor, or null for the default temporary directory.
Throws:
IOException
Method Detail

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