Class HollowTrieMonotoneMinimalPerfectHashFunction<T>

java.lang.Object
it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<T>
it.unimi.dsi.sux4j.mph.AbstractHashFunction<T>
it.unimi.dsi.sux4j.mph.HollowTrieMonotoneMinimalPerfectHashFunction<T>
All Implemented Interfaces:
it.unimi.dsi.fastutil.Function<T,Long>, it.unimi.dsi.fastutil.objects.Object2LongFunction<T>, it.unimi.dsi.fastutil.Size64, Serializable, Function<T,Long>, ToLongFunction<T>

public class HollowTrieMonotoneMinimalPerfectHashFunction<T> extends AbstractHashFunction<T> implements 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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    A balanced parentheses structure over trie.
     
    protected final it.unimi.dsi.bits.LongArrayBitVector
    The bit vector containing Jacobson's representation of the trie.

    Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction

    defRetValue
  • Constructor Summary

    Constructors
    Constructor
    Description
    HollowTrieMonotoneMinimalPerfectHashFunction(Iterable<? extends T> iterable, it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
     
    HollowTrieMonotoneMinimalPerfectHashFunction(Iterator<? extends T> iterator, it.unimi.dsi.bits.TransformationStrategy<? super T> transform)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    getLong(Object object)
     
    static void
    main(String[] arg)
     
    long
     
    long
     

    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.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 Details

    • 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 over trie.
  • Constructor Details

    • HollowTrieMonotoneMinimalPerfectHashFunction

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

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

    • getLong

      public long getLong(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(String[] arg) throws NoSuchMethodException, IOException, com.martiansoftware.jsap.JSAPException
      Throws:
      NoSuchMethodException
      IOException
      com.martiansoftware.jsap.JSAPException