Interface ISplitFunction<T>

Type Parameters:
T - The type of the data objects.
All Known Implementing Classes:
ComposedSplitFunction

public interface ISplitFunction<T>
Defines an object to be used to split a node in an M-Tree. A node must be split when it has reached its maximum capacity and a new child node would be added to it.

The splitting consists in choosing a pair of "promoted" data objects from the children and then partition the set of children in two partitions corresponding to the two promoted data objects.

Since:
2.0.0
Author:
Eduardo R. D'Avila
  • Method Details

    • process

      ISplitFunction.SplitResult<T> process(Set<T> dataSet, IDistanceFunction<? super T> distanceFunction)
      Processes the splitting of a node.
      Parameters:
      dataSet - A set of data that are keys to the children of the node to be split.
      distanceFunction - A distance function that can be used to help splitting the node.
      Returns:
      A ISplitFunction.SplitResult object with a pair of promoted data objects and a pair of corresponding partitions of the data objects.