An O(n log n) algorithm for finding all repetitions in a string
Journal of Algorithms
Theoretical Computer Science
Usefulness of the Karp-Miller-Rosenberg algorithm in parallel computations on strings and arrays
Theoretical Computer Science
How many squares can a string contain?
Journal of Combinatorial Theory Series A
Simple and flexible detection of contiguous repeats using a suffix tree
Theoretical Computer Science
An Algorithm for Approximate Tandem Repeats
CPM '93 Proceedings of the 4th Annual Symposium on Combinatorial Pattern Matching
Computation of Squares in a String (Preliminary Version)
CPM '94 Proceedings of the 5th Annual Symposium on Combinatorial Pattern Matching
Linear time algorithms for finding and representing all the tandem repeats in a string
Journal of Computer and System Sciences
Algorithms on Strings
DLT '08 Proceedings of the 12th international conference on Developments in Language Theory
Practical Algorithms for the Longest Common Extension Problem
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Repetitions in strings: Algorithms and combinatorics
Theoretical Computer Science
Efficient Algorithms for Two Extensions of LPF Table: The Power of Suffix Arrays
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Extracting powers and periods in a string from its runs structure
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
An optimal algorithm for online square detection
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
Online and dynamic recognition of squarefree strings
MFCS'05 Proceedings of the 30th international conference on Mathematical Foundations of Computer Science
On the maximal number of cubic runs in a string
LATA'10 Proceedings of the 4th international conference on Language and Automata Theory and Applications
Hi-index | 0.04 |
Three new simple O(nlogn) time algorithms related to repeating factors are presented in the paper. The first two algorithms employ only a basic textual data structure called the Dictionary of Basic Factors. Despite their simplicity these algorithms not only detect existence of powers (in particular, squares) in a string but also find all primitively rooted cubes (as well as higher powers) and all cubic runs. Our third O(nlogn) time algorithm computes all runs and is probably the simplest known efficient algorithm for this problem. It uses additionally the Longest Common Extension function, however, due to relaxed running time constraints, a simple O(nlogn) time implementation can be used. At the cost of logarithmic factor (in time complexity) we obtain novel algorithmic solutions for several classical string problems which are much simpler than (usually quite sophisticated) linear time algorithms.