An Optimal Algorithm for the Maximum-Density Segment Problem.
Journal
Algorithms - ESA 2003, 11th Annual European Symposium, Budapest, Hungary, September 16-19, 2003, Proceedings
Pages
136-147
Date Issued
2003
Author(s)
Chung, Kai-Min
HSUEH-I LU
Abstract
We address a fundamental string problem arising from analysis of biomolecular sequences. The input consists of two integers L and U and a sequence S of n number pairs (ai, wi) with Wi > 0. Let segment S(i,j) of S be the consecutive subsequence of S starting index i to index j. The density of S(i, j) is d(i,j) = (ai + a i+1 + ... + aj)/(wi + Wi+1 + ... + Wj). The maximum-density segment problem is to find a maximum-density segment over all segments of S with L ≤ wi+wi+1+ ...+wj ≤ U. The best previously known algorithm for the problem, due to Goldwasser, Kao, and Lu, runs in O(n log(U-L+1)) time. In the present paper, we solve the problem in O(n) time. Our approach bypasses the complicated right-skew decomposition, introduced by Lin, Jiang, and Chao. As a result, our algorithm has the capability to process the input sequence in an online manner, which is an important feature for dealing with genome-scale sequences. Moreover, for an input sequence S representable in O(k) space, we also show how to exploit the sparsity of S and solve the maximum-density segment problem for S in O(k) time. © Springer-Verlag 2003.
Other Subjects
Algorithms; Biomolecular sequences; Important features; Input sequence; Maximum-density segment; Optimal algorithm; Problem solving
Type
conference paper
