
O - the type of DatabaseObject to be stored 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,N extends AbstractMTreeNode<O,N,E>,E extends MTreeEntry> extends Object
| Constructor and Description |
|---|
MTreeSplit() |
| Modifier and Type | Method and Description |
|---|---|
private int |
assignBest(Assignments<E> assign,
long[] assigned,
N node,
double[] dis,
int[] idx,
int pos,
boolean second)
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<E> |
balancedPartition(AbstractMTree<O,N,E,?> tree,
N node,
DBID routingObject1,
DBID routingObject2)
Creates a balanced partition of the entries of the specified node.
|
(package private) Assignments<E> |
balancedPartition(AbstractMTree<O,N,E,?> tree,
N node,
int routingEntNum1,
int routingEntNum2,
double[] distanceMatrix)
Creates a balanced partition of the entries of the specified node.
|
protected double[] |
computeDistanceMatrix(AbstractMTree<O,N,E,?> tree,
N node)
Compute the pairwise distances in the given node.
|
abstract Assignments<E> |
split(AbstractMTree<O,N,E,?> tree,
N node)
Returns the assignments of this split.
|
protected double[] computeDistanceMatrix(AbstractMTree<O,N,E,?> tree, N node)
tree - Treenode - NodeAssignments<E> balancedPartition(AbstractMTree<O,N,E,?> tree, N node, DBID routingObject1, DBID routingObject2)
tree - the tree to perform the split innode - the node to be splitroutingObject1 - the id of the first routing objectroutingObject2 - the id of the second routing objectAssignments<E> balancedPartition(AbstractMTree<O,N,E,?> tree, N node, int routingEntNum1, int routingEntNum2, double[] distanceMatrix)
tree - the tree to perform the split innode - the node to be splitroutingEntNum1 - the entry number of the first routing objectroutingEntNum2 - the entry number of the second routing objectdistanceMatrix - precomputed distance matrix to useprivate int assignBest(Assignments<E> assign, long[] assigned, N node, double[] dis, int[] idx, int pos, boolean second)
assign - Output assignmentassigned - Bitset of assigned objectsdis - Distancesidx - Indexespos - Current positionsecond - Assign to second, not first, set.public abstract Assignments<E> split(AbstractMTree<O,N,E,?> tree, N node)
tree - Tree to usenode - Node to splitCopyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.