Constant-Working-Space Algorithms: How Fast Can We Solve Problems without Using Any Extra Array?

  • Authors:
  • Tetsuo Asano

  • Affiliations:
  • School of Information Science, Jaist, Ishikawa, Japan 923-1292

  • Venue:
  • ISAAC '08 Proceedings of the 19th International Symposium on Algorithms and Computation
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this talk I will present a new direction of algorithms whichdo not use any extra working array. More formally, we want todesign efficient algorithms which require no extra array of sizedepending on input size n but use only constant workingstorage cells (variables), each having O(logn)bits. As an example, consider a problem of finding the median amongn given numbers. A linear-time algorithm for the problemis well known. An ordinary implementation of the algorithm requiresanother array of the same size. It is not very hard to implementthe algorithm without using any additional array, in other words,to design an in-place algorithm. Unfortunately, it is nota constant working space algorithm in our model since it requiressome space, say O(logn) space, for maintainingrecursive calls. A good news is that an efficient algorithm isknown which finds the median in O(n1 +ε) time usingO(1/ε) working space for any smallpositive constant ε. The algorithm finds themedian without altering any element of an input array. In otherwords, the input array is considered as a read-only array.