A simple yet time-optimal and linear-space algorithm for shortest unique substring queries

Yükleniyor...
Küçük Resim

Tarih

2015

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Elsevier

Erişim Hakkı

info:eu-repo/semantics/openAccess

Özet

We revisit the problem of finding shortest unique substring (SUS) proposed recently by Pei et al. (2013) [12]. We propose an optimal O(n) time and space algorithm that can find an SUS for every location of a string of size n and thus significantly improve their O(n(2)) time complexity. Our method also supports finding all the SUSes covering every location, whereas theirs can find only one SUS for every location. Further, our solution is simpler and easier to implement and is more space efficient in practice, since we only use the inverse suffix array and the longest common prefix array of the string, while their algorithm uses the suffix tree of the string and other auxiliary data structures. Our theoretical results are validated by an empirical study with real-world data that shows our method is at least 8 times faster and uses at least 20 times less memory. The speedup gained by our method against Pei et al's can become even more significant when the string size increases due to their quadratic time complexity. We also have compared our method with the recent Tsuruta et al.'s (2014) [14] proposal, another independent 0(n) time and space algorithm for SUS finding. The empirical study shows that both methods have nearly the same processing speed. However, ours uses at least 4 times less memory for finding one SUS and at least 2 times less memory for finding all SUSes, both covering every string location.

Açıklama

WOS: 000347602000043

Anahtar Kelimeler

Unique Substring, Shortest Unique Substring, Repetitiveness, Regularity

Kaynak

Theoretical Computer Science

WoS Q Değeri

Q4

Scopus Q Değeri

Q1

Cilt

562

Sayı

Künye

Atalay İleri, M., Külekçi, M. O. ve Xu, B. (2015). A simple yet time-optimal and linear-space algorithm for shortest unique substring queries. Theoretical Computer Science, 562, 621-633. https://dx.doi.org/10.1016/j.tcs.2014.11.004