Abstract

On-demand string sorting is the problem of preprocessing a set of n strings to allow subsequent queries of finding the k < n lexicographically smallest strings (and afterwards 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, and answers 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.KeywordsCharacter ComparisonBalance IndexingDemand StringBalance Binary TreeParallel StringThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call