/** * Defaults to selecting the split axis with maximum variance */ public AxisSplitterMedian(KdTreeDistance<P> distance) { this(distance,new AxisSplitRuleMax()); }
@Test public void basic() { double[] var = new double[]{1,2,3,10,4,5,5,6}; AxisSplitRuleMax alg = new AxisSplitRuleMax(); alg.setDimension(var.length); int found = alg.select(var); assertEquals(3,found); } }
/** * Defaults to selecting the split axis with maximum variance */ public AxisSplitterMedian(KdTreeDistance<P> distance) { this(distance,new AxisSplitRuleMax()); }
/** * Creates canonical K-D Tree by selecting the maximum variance axis and splitting the points at the median. * */ public KdTreeConstructor( KdTreeDistance<P> distance ) { this(new KdTreeMemory<>(), new AxisSplitterMedian<>(distance, new AxisSplitRuleMax())); }
/** * Creates canonical K-D Tree by selecting the maximum variance axis and splitting the points at the median. * */ public KdTreeConstructor( KdTreeDistance<P> distance ) { this(new KdTreeMemory<>(), new AxisSplitterMedian<>(distance, new AxisSplitRuleMax())); }