Class GeneralizedHyperplaneDistribution

  • All Implemented Interfaces:
    DistributionStrategy

    @Reference(authors="P. Ciaccia, M. Patella, P. Zezula",
               title="M-tree: An Efficient Access Method for Similarity Search in Metric Spaces",
               booktitle="Proc. Int. Conf. Very Large Data Bases (VLDB\'97)",
               url="http://www.vldb.org/conf/1997/P426.PDF",
               bibkey="DBLP:conf/vldb/CiacciaPZ97")
    public class GeneralizedHyperplaneDistribution
    extends java.lang.Object
    implements DistributionStrategy
    Generalized hyperplane entry distribution strategy of the M-tree.

    This strategy does not produce balanced trees, but often produces faster access times, according to the original publication.

    Reference:

    P. Ciaccia, M. Patella, P. Zezula
    M-tree: An Efficient Access Method for Similarity Search in Metric Spaces
    In Proc. Int. Conf. Very Large Data Bases (VLDB'97)

    Since:
    0.7.5
    Author:
    Erich Schubert
    • Constructor Detail

      • GeneralizedHyperplaneDistribution

        public GeneralizedHyperplaneDistribution()
    • Method Detail

      • distribute

        public <E extends MTreeEntryAssignments<E> distribute​(AbstractNode<E> node,
                                                                int routing1,
                                                                double[] dis1,
                                                                int routing2,
                                                                double[] dis2)
        Description copied from interface: DistributionStrategy
        Creates a balanced partition of the entries of the specified node.
        Specified by:
        distribute in interface DistributionStrategy
        Type Parameters:
        E - entry type
        Parameters:
        node - the node to be split
        routing1 - the entry number of the first routing object
        dis1 - Distances from first routing object
        routing2 - the entry number of the second routing object
        dis2 - Distances from second routing object
        Returns:
        an assignment that holds a balanced partition of the entries of the specified node