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()