Improving Quicksort Performance with a Codeword Data Structure
IEEE Transactions on Software Engineering
Handbook of algorithms and data structures: in Pascal and C (2nd ed.)
Handbook of algorithms and data structures: in Pascal and C (2nd ed.)
Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Optimal parallel string algorithms: sorting, merging and computing the minimum
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
Sorting strings and constructing digital search trees in parallel
Theoretical Computer Science
On sorting strings in external memory (extended abstract)
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Fast algorithms for sorting and searching strings
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
On the sorting-complexity of suffix tree construction
Journal of the ACM (JACM)
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Merging and Sorting Strings in Parallel
MFCS '92 Proceedings of the 17th International Symposium on Mathematical Foundations of Computer Science
Efficient Techniques for Maintaining Multidimensional Keys in Linked Data Structures
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Handbook of massive data sets
Optimal suffix tree construction with large alphabets
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Cache-efficient string sorting using copying
Journal of Experimental Algorithmics (JEA)
Linear pattern matching algorithms
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Linear-time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Space efficient linear time construction of suffix arrays
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Suffix trays and suffix trists: structures for faster text indexing
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
Towards real-time suffix tree construction
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Hi-index | 5.23 |
On-demand string sorting is the problem of preprocessing a set of strings to allow subsequent queries for finding the k lexicographically smallest strings (and afterward the next k etc.) This on-demand variant strongly resembles the search engine queries which give you the best k-ranked pages recurringly. We present a data structure that supports this in O(n) preprocessing time, where n is the number of strings, and answer queries in O(logn) time. There is also a cost of O(N) time amortized over all operations, where N is the total length of the strings. Our data structure is a heap of strings, which supports heapify and delete-mins. As it turns out, implementing a full heap with all operations is not that simple. For the sake of completeness, we propose a heap with full operations based on balanced indexing trees that supports the heap operations in optimal times.