Package it.unimi.dsi.sux4j.mph
Class HollowTrieMonotoneMinimalPerfectHashFunction<T>
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<K>
-
- it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
-
- it.unimi.dsi.sux4j.mph.HollowTrieMonotoneMinimalPerfectHashFunction<T>
-
- All Implemented Interfaces:
it.unimi.dsi.fastutil.Function<T,java.lang.Long>
,it.unimi.dsi.fastutil.objects.Object2LongFunction<T>
,it.unimi.dsi.fastutil.Size64
,java.io.Serializable
,java.util.function.Function<T,java.lang.Long>
,java.util.function.ToLongFunction<T>
public class HollowTrieMonotoneMinimalPerfectHashFunction<T> extends AbstractHashFunction<T> implements java.io.Serializable, it.unimi.dsi.fastutil.Size64
A hollow trie, that is, a compacted trie recording just the length of the paths associated to the internal nodes.Instances of this class can be used to compute a monotone minimal perfect hashing of the keys.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected JacobsonBalancedParentheses
balParen
A balanced parentheses structure overtrie
.protected EliasFanoLongBigList
skips
protected it.unimi.dsi.bits.LongArrayBitVector
trie
The bit vector containing Jacobson's representation of the trie.
-
Constructor Summary
Constructors Constructor Description HollowTrieMonotoneMinimalPerfectHashFunction(java.lang.Iterable<? extends T> iterable, it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
HollowTrieMonotoneMinimalPerfectHashFunction(java.util.Iterator<? extends T> iterator, it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getLong(java.lang.Object object)
static void
main(java.lang.String[] arg)
long
numBits()
long
size64()
-
Methods inherited from class it.unimi.dsi.sux4j.mph.AbstractHashFunction
containsKey, size
-
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
-
-
-
-
Field Detail
-
skips
protected EliasFanoLongBigList skips
-
trie
protected final it.unimi.dsi.bits.LongArrayBitVector trie
The bit vector containing Jacobson's representation of the trie.
-
balParen
protected JacobsonBalancedParentheses balParen
A balanced parentheses structure overtrie
.
-
-
Method Detail
-
getLong
public long getLong(java.lang.Object object)
- Specified by:
getLong
in interfaceit.unimi.dsi.fastutil.objects.Object2LongFunction<T>
-
size64
public long size64()
- Specified by:
size64
in interfaceit.unimi.dsi.fastutil.Size64
- Overrides:
size64
in classAbstractHashFunction<T>
-
numBits
public long numBits()
-
main
public static void main(java.lang.String[] arg) throws java.lang.NoSuchMethodException, java.io.IOException, com.martiansoftware.jsap.JSAPException
- Throws:
java.lang.NoSuchMethodException
java.io.IOException
com.martiansoftware.jsap.JSAPException
-
-