Abstract
Recent progress in computer systems has provided programmers with virtually unlimited amount of work storage for their programs. This leads to space-inefficient programs that use too much storage and become too slow if sufficiently large memory is not available. Thus, I believe that space-efficient algorithms or memory-constrained algorithms deserve more attention.
Constant-work-space algorithms have been extensively studied under a different name, log-space algorithms. Input data are given on a read-only array of n elements, each having O(logn) bits, and work space is limited to O(logn) bits, in other words, a constant number of pointers and counters, each of O(logn) bits. This memory constraint in the log-space algorithms may be too severe for practical applications. For problems related to an image with n pixels, for example, it is quite reasonable to use \(O(\sqrt{n})\) work space, which amounts to a constant number of rows and columns.
I will start my talk with a simple algorithm for detecting a cycle in a graph using only some constant amount of work space (more exactly, O(logn) bits in total) and then its applications. Then, I will introduce some paradigms for designing such memory-constrained algorithms and their applications to interesting problems including those in computational geometry and computer vision.
Chapter PDF
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Asano, T. (2011). Designing Algorithms with Limited Work Space. In: Ogihara, M., Tarui, J. (eds) Theory and Applications of Models of Computation. TAMC 2011. Lecture Notes in Computer Science, vol 6648. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20877-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-20877-5_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20876-8
Online ISBN: 978-3-642-20877-5
eBook Packages: Computer ScienceComputer Science (R0)