### Abstract

In memory-constrained algorithms, access to the input is restricted to be read-only, and the number of extra variables that the algorithm can use is bounded. In this paper we introduce the compressed stack technique, a method that allows to transform algorithms whose main memory consumption takes the form of a stack into memory-constrained algorithms. Given an algorithm $$\mathcal {A}$$A that runs in $$O(n)$$O(n) time using a stack of length Θ(n), we can modify it so that it runs in O(^{n2}logn/^{2s}) time using a workspace of $$O(s)$$O(s) variables (for any s∈o(logn)) or O(^{n1+1/logp}) time using O(plogpn) variables (for any 2≤p≤n). We also show how the technique can be applied to solve various geometric problems, namely computing the convex hull of a simple polygon, a triangulation of a monotone polygon, the shortest path between two points inside a monotone polygon, a 1-dimensional pyramid approximation of a 1-dimensional vector, and the visibility profile of a point inside a simple polygon. Our approach improves or matches up to a O(logn) factor the running time of the best-known results for these problems in constant-workspace models (when they exist), and gives a trade-off between the size of the workspace and running time. To the best of our knowledge, this is the first general framework for obtaining memory-constrained algorithms.

Original language | English |
---|---|

Pages (from-to) | 1097-1129 |

Number of pages | 33 |

Journal | Algorithmica |

Volume | 72 |

Issue number | 4 |

DOIs | |

Publication status | Published - 2015 Aug 19 |

### Keywords

- Constant workspace
- Memory constrained algorithms
- Space–time trade-off
- Stack algorithms

### ASJC Scopus subject areas

- Computer Science(all)
- Computer Science Applications
- Applied Mathematics

## Fingerprint Dive into the research topics of 'Space–Time Trade-offs for Stack-Based Algorithms'. Together they form a unique fingerprint.

## Cite this

*Algorithmica*,

*72*(4), 1097-1129. https://doi.org/10.1007/s00453-014-9893-5