Space-Efficient Algorithms for Longest Increasing Subsequence
Given a sequence of integers, we want to find a longest increasing subsequence of the sequence. It is known that this problem can be solved in O n log n time and space. Our goal in this paper is to reduce the space consumption while keeping the time complexity small. For n ≤ s ≤ n , we present algor...
Gespeichert in:
Veröffentlicht in: | Theory of computing systems 2020-04, Vol.64 (3), p.522-541 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Given a sequence of integers, we want to find a longest increasing subsequence of the sequence. It is known that this problem can be solved in
O
n
log
n
time and space. Our goal in this paper is to reduce the space consumption while keeping the time complexity small. For
n
≤
s
≤
n
, we present algorithms that use
O
s
log
n
bits and
O
1
s
⋅
n
2
⋅
log
n
time for computing the length of a longest increasing subsequence, and
O
1
s
⋅
n
2
⋅
log
2
n
time for finding an actual subsequence. We also show that the time complexity of our algorithms is optimal up to polylogarithmic factors in the framework of sequential access algorithms with the prescribed amount of space. |
---|---|
ISSN: | 1432-4350 1433-0490 |
DOI: | 10.1007/s00224-018-09908-6 |