Maintaining arrays of contiguous objects

  • Authors:
  • Michael A. Bender;Sándor P. Fekete;Tom Kamphans;Nils Schweer

  • Affiliations:
  • Department of Computer Science, State University of New York at Stony Brook, Stony Brook, NY;Braunschweig University of Technology, Department of Computer Science, Braunschweig, Germany;Braunschweig University of Technology, Department of Computer Science, Braunschweig, Germany;Braunschweig University of Technology, Department of Computer Science, Braunschweig, Germany

  • Venue:
  • FCT'09 Proceedings of the 17th international conference on Fundamentals of computation theory
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we consider methods for dynamically storing a set of different objects ("modules") in a physical array. Each module requires one free contiguous subinterval in order to be placed. Items are inserted or removed, resulting in a fragmented layout that makes it harder to insert further modules. It is possible to relocate modules, one at a time, to another free subinterval that is contiguous and does not overlap with the current location of the module. These constraints clearly distinguish our problem from classical memory allocation. We present a number of algorithmic results, including a bound of Θ(n2) on physical sorting if there is a sufficiently large free space and sum up NP-hardness results for arbitrary initial layouts. For online scenarios in which modules arrive one at a time, we present a method that requires O(1) moves per insertion or deletion and amortized cost O(mi lg m) per insertion or deletion, where mi is the module's size, m is the size of the largest module and costs for moves are linear in the size of a module.