The input/output complexity of sorting and related problems
Communications of the ACM
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
Journal of Computer and System Sciences - Special issue: 31st IEEE conference on foundations of computer science, Oct. 22–24, 1990
On sorting strings in external memory (extended abstract)
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Journal of Computer and System Sciences
The string B-tree: a new data structure for string search in external memory and its applications
Journal of the ACM (JACM)
Fast algorithms for sorting and searching strings
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric
Journal of the ACM (JACM)
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
External memory algorithms and data structures: dealing with massive data
ACM Computing Surveys (CSUR)
Cache-oblivious priority queue and graph algorithm applications
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Integer Sorting in 0(n sqrt (log log n)) Expected Time and Linear Space
FOCS '02 Proceedings of the 43rd Symposium on Foundations of Computer Science
Cache Oblivious Distribution Sweeping
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
External memory data structures
Handbook of massive data sets
On the limits of cache-obliviousness
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Rapid identification of repeated patterns in strings, trees and arrays
STOC '72 Proceedings of the fourth annual ACM symposium on Theory of computing
Cache-oblivious string dictionaries
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
Algorithms for memory hierarchies: advanced lectures
Algorithms for memory hierarchies: advanced lectures
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Engineering a cache-oblivious sorting algorithm
Journal of Experimental Algorithmics (JEA)
Making deterministic signatures quickly
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Algorithms and data structures for external memory
Foundations and Trends® in Theoretical Computer Science
Making deterministic signatures quickly
ACM Transactions on Algorithms (TALG)
Hi-index | 0.00 |
We give a randomized algorithm for sorting strings in external memory. For K binary strings comprising N words in total, our algorithm finds the sorted order and the longest common prefix sequence of the strings using $O(\frac{K}{B}log_{M/B}(\frac{K}{M})log(\frac{N}{K}) + \frac{N}{B})$ I/Os. This bound is never worse than $O(\frac{K}{B}log_{M/B}(\frac{K}{M})log log_{M/B}(\frac{K}{M}) + \frac{N}{B})$ I/Os, and improves on the (deterministic) algorithm of Arge et al. (On sorting strings in external memory, STOC '97). The error probability of the algorithm can be chosen as O(N$^{\rm -{\it c}}$) for any positive constant c. The algorithm even works in the cache-oblivious model under the tall cache assumption, i.e,, assuming M B1+ε for some ε 0. An implication of our result is improved construction algorithms for external memory string dictionaries.