Class MaxExtensionSortTileRecursiveBulkSplit

  • All Implemented Interfaces:
    BulkSplit

    public class MaxExtensionSortTileRecursiveBulkSplit
    extends AbstractBulkSplit
    This is variation of the SortTileRecursiveBulkSplit, incorporating some ideas from MaxExtensionBulkSplit. Instead of iterating through the axes in order, it always chooses the axis with the largest extend. This may rarely lead to the data being split on the same axis twice, but most importantly it varies the splitting order compared to STR. AdaptiveSortTileRecursiveBulkSplit takes these ideas one step further, by also varying the fan-out degree.
    Since:
    0.6.0
    Author:
    Erich Schubert
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T extends elki.data.spatial.SpatialComparable>
      java.util.List<java.util.List<T>>
      partition​(java.util.List<T> spatialObjects, int minEntries, int maxEntries)
      Partitions the specified feature vectors
      protected <T extends elki.data.spatial.SpatialComparable>
      void
      strPartition​(java.util.List<T> objs, int start, int end, int depth, int dims, int maxEntries, elki.data.spatial.SpatialSingleMeanComparator c, java.util.List<java.util.List<T>> ret)
      Recursively partition.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MaxExtensionSortTileRecursiveBulkSplit

        public MaxExtensionSortTileRecursiveBulkSplit()
    • Method Detail

      • partition

        public <T extends elki.data.spatial.SpatialComparable> java.util.List<java.util.List<T>> partition​(java.util.List<T> spatialObjects,
                                                                                                           int minEntries,
                                                                                                           int maxEntries)
        Description copied from interface: BulkSplit
        Partitions the specified feature vectors
        Type Parameters:
        T - actual type we split
        Parameters:
        spatialObjects - the spatial objects to be partitioned
        minEntries - the minimum number of entries in a partition
        maxEntries - the maximum number of entries in a partition
        Returns:
        the partition of the specified spatial objects
      • strPartition

        protected <T extends elki.data.spatial.SpatialComparable> void strPartition​(java.util.List<T> objs,
                                                                                    int start,
                                                                                    int end,
                                                                                    int depth,
                                                                                    int dims,
                                                                                    int maxEntries,
                                                                                    elki.data.spatial.SpatialSingleMeanComparator c,
                                                                                    java.util.List<java.util.List<T>> ret)
        Recursively partition.
        Type Parameters:
        T - data type
        Parameters:
        objs - Object list
        start - Subinterval start
        end - Subinterval end
        depth - Iteration depth (must be less than dimensionality!)
        dims - Total number of dimensions
        maxEntries - Maximum page size
        c - Comparison helper
        ret - Output list