Class MRadSplit<E extends MTreeEntry,​N extends AbstractMTreeNode<?,​N,​E>>

  • Type Parameters:
    E - the type of MTreeEntry used in the M-Tree
    N - the type of AbstractMTreeNode used in the M-Tree
    All Implemented Interfaces:
    MTreeSplit<E,​N>

    @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 MRadSplit<E extends MTreeEntry,​N extends AbstractMTreeNode<?,​N,​E>>
    extends AbstractMTreeSplit<E,​N>
    Encapsulates the required methods for a split of a node in an M-Tree. The routing objects are chosen according to the Mrad strategy.

    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.2
    Author:
    Elke Achtert
    • Constructor Detail

      • MRadSplit

        public MRadSplit​(DistributionStrategy distributor)
        Constructor.
        Parameters:
        distributor - Distribution strategy
    • Method Detail

      • split

        public Assignments<E> split​(AbstractMTree<?,​N,​E,​?> tree,
                                    N node)
        Selects two objects of the specified node to be promoted and stored into the parent node. The m-RAD strategy considers all possible pairs of objects and, after partitioning the set of entries, promotes the pair of objects for which the sum of covering radiuses is minimum.
        Parameters:
        tree - Tree to use
        node - the node to be split
        Returns:
        the assignments of this split