Efficient bundle sorting
OwnerYossi Matias, Eran Segalinventors
Life of this patent
Estimating the term…
Loading patent…
OwnerYossi Matias, Eran Segalinventors
Estimating the term…
Many data sets to be sorted consist of a limited number of distinct keys. Sorting such data sets can be thought of as bundling together identical keys and having the bundles placed in order; we therefore denote this as bundle sorting. We describe an efficient algorithm for bundle sorting in external memory that requires at most c(N/B)logM/Bk disk accesses, where N is the number of keys, M is the size of internal memory, k is the number of distinct keys, B is the transfer block size, and 2<c<4. For moderately sized k, this bound circumvents the Θ((N/B)logM/B(N/B)) I/O lower bound known for general sorting. We show that our algorithm is optimal by proving a matching lower bound for bundle sorting. The improved nning time of bundle sorting over general sorting can be significant in practice, as demonstrated by experimentation. An important feature of the new algorithm is that it is executed “in-place”, requiring no additional disk space.
A method of sorting data sets including a predetermined number of distinct keys, comprising the steps of:
A system sorting data sets including a predetermined number of distinct keys, comprising the steps of:
A method for sorting large data sets that reside on external memory, given that the available memory is of size M and that the transfer block size is B, said method comprising the steps of:
A method for sorting large data sets that reside on external memory, given that the available memory is of size M, that the transfer block size is B, and that the number of distinct keys is at most about M/B, said method comprising the steps of:
A method for sorting large data sets that reside on external memory, given that the available memory is of size M and that the transfer block size is B, said method comprising the steps of:
A method for sorting large data sets that reside on external memory, given that the available memory is of size M, that the transfer block size is B, and that the number of distinct keys is at most about M/B, said method comprising the steps of:
Dependencies are inferred from the claim text.