title: Where would a suffix array be preferable to a suffix tree?
body: <p>Two closely-related data structures are the suffix tree and suffix array.  From what I've read, the suffix tree is faster, more powerful, more flexible, and more memory-efficient than a suffix array.  However, in <a href="https://stackoverflow.com/questions/2487576/trie-vs-suffix-tree-vs-suffix-array/6723322#6723322">this earlier question,</a> one of the top answers mentioned that suffix arrays are more widely used in practice.  I don't have any experience using either of these structures, but right now it seems like I would always prefer a suffix tree over a suffix array for problems that needed the functionality they provide (fast substring checking, for example).</p>
  
  <p>In what circumstances would a suffix array be preferable to a suffix tree?</p>
  
  <p>(By the way, while this question is related to the one I've linked, I don't think it's an exact duplicate as I'm interested solely in a comparison of suffix arrays and suffix trees, leaving tries completely out of the picture.  If you disagree, though, I would understand if this question were to be closed.)</p>