Linear-time computation of prefix table for weighted strings & applications

Carl Barton, Chang Liu, Solon P. Pissis*

*Corresponding author for this work

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

The prefix table of a string is one of the most fundamental data structures of algorithms on strings: it determines the longest factor at each position of the string that matches a prefix of the string. It can be computed in time linear with respect to the size of the string, and hence it can be used efficiently for locating patterns or for regularity searching in strings. A weighted string is a string in which a set of letters may occur at each position with respective occurrence probabilities. Weighted strings, also known as position weight matrices or uncertain strings, naturally arise in many biological contexts; for example, they provide a method to realise approximation among occurrences of the same DNA segment. In this article, given a weighted string x of length n and a constant cumulative weight threshold 1/z, defined as the minimal probability of occurrence of factors in x, we present an O(n)-time algorithm for computing the prefix table of x. Furthermore, we outline a number of applications of this result for solving various problems on non-standard strings, and present some preliminary experimental results.

Original languageEnglish
Pages (from-to)160-172
Number of pages13
JournalTheoretical Computer Science
Volume656
DOIs
Publication statusPublished - 20 Dec 2016
Externally publishedYes

Keywords

  • Algorithms on strings
  • Uncertain sequences
  • Weighted strings

Fingerprint

Dive into the research topics of 'Linear-time computation of prefix table for weighted strings & applications'. Together they form a unique fingerprint.

Cite this