Abstract
We study algorithms for solving a problem of constructing a text (a long string) from a dictionary (a sequence of small strings). The problem has an application in bioinformatics and has a connection with the sequence assembly method for reconstructing a long DNA sequence from small fragments. Our problem is the construction a string t of length n using strings \(s^1,\dots , s^m\) with possible overlapping. Firstly, we provide a classical (randomized) algorithm with running time \(O\left( n+L +m(\log n)^2\right) =\tilde{O}(n+L)\) where L is the sum of lengths of \(s^1,\dots ,s^m\). Secondly, we provide a quantum algorithm with running time \(O\left( n +\log n\cdot (\log m+\log \log n)\cdot \sqrt{m\cdot L}\right) =\tilde{O}\left( n +\sqrt{m\cdot L}\right) \). Additionally, we show that the lower bound for a classical (randomized or deterministic) algorithm is \(\varOmega (n+L)\). Thus, our classical algorithm is optimal up to a log factor, and our quantum algorithm shows a speed-up when compared with any classical (randomized or deterministic) algorithm in the case of non-constant length of strings in the dictionary.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.