Suffix Arrays: A New Method for On-Line String Searches

  • Manber U
  • Myers G
  • 341

    Readers

    Mendeley users who have this article in their library.
  • 265

    Citations

    Citations of this article.

Abstract

A new and conceptually simple data structure, called a suffix array, for on-line string searches is introduced in this paper. Constructing and querying suffix arrays is reduced to a sort and search paradigm that employs novel algorithms. The main advantage of suffix arrays over suffix trees is that, in practice, they use three to five times less space. From a complexity standpoint, suffix arrays permit on-line string searches of the type, "Is W a substring of A?" to be answered in time O(P + log N), where P is the length of W and N is the length of A, which is competitive with (and in some cases slightly better than) suffix trees. The only drawback is that in those instances where the underlying alphabet is finite and small, suffix trees can be constructed in O(N) time in the worst case, versus O(N log N) time for suffix arrays. However, an augmented algorithm is given that, regardless of the alphabet size, constructs suffix arrays in O(N) expected time, albeit with lesser .space efficiency. It is believed that suffix arrays will prove to be better in practice than suffix trees for many applications.

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document

Authors

  • Udi Manber

  • Gene Myers

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free