Class 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 over trie.
      protected EliasFanoLongBigList skips  
      protected it.unimi.dsi.bits.LongArrayBitVector trie
      The bit vector containing Jacobson's representation of the trie.
      • Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction

        defRetValue
    • 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.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.Function

        apply, clear
      • Methods inherited from interface java.util.function.Function

        compose
      • 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
      • Methods inherited from interface it.unimi.dsi.fastutil.Size64

        size
    • Field Detail

      • trie

        protected final it.unimi.dsi.bits.LongArrayBitVector trie
        The bit vector containing Jacobson's representation of the trie.
    • Constructor Detail

      • HollowTrieMonotoneMinimalPerfectHashFunction

        public HollowTrieMonotoneMinimalPerfectHashFunction​(java.lang.Iterable<? extends T> iterable,
                                                            it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
      • HollowTrieMonotoneMinimalPerfectHashFunction

        public HollowTrieMonotoneMinimalPerfectHashFunction​(java.util.Iterator<? extends T> iterator,
                                                            it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
    • Method Detail

      • getLong

        public long getLong​(java.lang.Object object)
        Specified by:
        getLong in interface it.unimi.dsi.fastutil.objects.Object2LongFunction<T>
      • size64

        public long size64()
        Specified by:
        size64 in interface it.unimi.dsi.fastutil.Size64
        Overrides:
        size64 in class AbstractHashFunction<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