An Optimal $O(\log \log N)$-Time Parallel Algorithm for Detecting all Squares in a String

Alberto Apostolico, Dany Breslauer · SIAM Journal on Computing · 1996

An optimal $O(\log \log n)$-time concurrent-read concurrent-write parallel algorithm for detecting all squares in a string is presented. A tight lower bound shows that over general alphabets, this is the fastest possible optimal algorithm. When p processors are available, the bounds become $\Theta \lceil {({{n\log n)} p}\rceil + \log \log _{\lceil {1 + {p / n}} \rceil } 2p} )$. The algorithm uses an optimal parallel string-matching algorithm together with periodicity properties to locate the squares within the input string.

Read the paper · More papers on PaperTik