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.