
O - the type of DatabaseObject to be stored in the M-TreeD - the type of Distance used in the M-TreeN - the type of AbstractMTreeNode used in the M-TreeE - the type of MetricalEntry used in the M-Treepublic abstract class MTreeSplit<O,D extends Distance<D>,N extends AbstractMTreeNode<O,D,N,E>,E extends MTreeEntry<D>> extends Object
| Modifier and Type | Field and Description |
|---|---|
(package private) Assignments<D,E> |
assignments
Encapsulates the two promotion objects and their assignments.
|
| Constructor and Description |
|---|
MTreeSplit() |
| Modifier and Type | Method and Description |
|---|---|
private D |
assignNN(Set<E> assigned1,
Set<E> assigned2,
List<DistanceEntry<D,E>> list,
D currentCR,
boolean isLeaf)
Assigns the first object of the specified list to the first assignment that
it is not yet assigned to the second assignment.
|
(package private) Assignments<D,E> |
balancedPartition(N node,
DBID routingObject1,
DBID routingObject2,
DistanceQuery<O,D> distanceFunction)
Creates a balanced partition of the entries of the specified node.
|
Assignments<D,E> |
getAssignments()
Returns the assignments of this split.
|
Assignments<D extends Distance<D>,E extends MTreeEntry<D>> assignments
Assignments<D,E> balancedPartition(N node, DBID routingObject1, DBID routingObject2, DistanceQuery<O,D> distanceFunction)
node - the node to be splitroutingObject1 - the id of the first routing objectroutingObject2 - the id of the second routing objectdistanceFunction - the distance function to compute the distancesprivate D assignNN(Set<E> assigned1, Set<E> assigned2, List<DistanceEntry<D,E>> list, D currentCR, boolean isLeaf)
assigned1 - the first assignmentassigned2 - the second assignmentlist - the list, the first object should be assignedcurrentCR - the current covering radiusisLeaf - true, if the node of the entries to be assigned is a leaf,
false otherwisepublic Assignments<D,E> getAssignments()