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 sqrt(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.
@InProceedings{kiyomi_et_al:LIPIcs.STACS.2018.44, author = {Kiyomi, Masashi and Ono, Hirotaka and Otachi, Yota and Schweitzer, Pascal and Tarui, Jun}, title = {{Space-Efficient Algorithms for Longest Increasing Subsequence}}, booktitle = {35th Symposium on Theoretical Aspects of Computer Science (STACS 2018)}, pages = {44:1--44:15}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-062-0}, ISSN = {1868-8969}, year = {2018}, volume = {96}, editor = {Niedermeier, Rolf and Vall\'{e}e, Brigitte}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.STACS.2018.44}, URN = {urn:nbn:de:0030-drops-84911}, doi = {10.4230/LIPIcs.STACS.2018.44}, annote = {Keywords: longest increasing subsequence, patience sorting, space-efficient algorithm} }
Feedback for Dagstuhl Publishing