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
    • Constructor Detail

      • MaxExtensionSortTileRecursiveBulkSplit

        public MaxExtensionSortTileRecursiveBulkSplit()
    • Method Detail

      • partition

        public <T extends 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 SpatialComparable> void strPartition​(java.util.List<T> objs,
                                                                  int start,
                                                                  int end,
                                                                  int depth,
                                                                  int dims,
                                                                  int maxEntries,
                                                                  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