Optimal resizable arrays
Robert E. Tarjan, Uri Zwick

TL;DR
This paper investigates the optimal space and time trade-offs for resizable arrays, providing new bounds and methods for maintaining arrays efficiently with minimal space overhead and analyzing the inherent costs of grow and shrink operations.
Contribution
It introduces a precise analysis of space and time trade-offs for resizable arrays, establishing lower bounds and optimal strategies for growth and shrinkage.
Findings
Optimal space usage of N+O(√N) for resizable arrays.
Grow and shrink operations have an inherent amortized cost of Ω(r).
Exact bounds for space and time trade-offs in array resizing.
Abstract
A \emph{resizable array} is an array that can \emph{grow} and \emph{shrink} by the addition or removal of items from its end, or both its ends, while still supporting constant-time \emph{access} to each item stored in the array given its \emph{index}. Since the size of an array, i.e., the number of items in it, varies over time, space-efficient maintenance of a resizable array requires dynamic memory management. A standard doubling technique allows the maintenance of an array of size~ using only space, with amortized time, or even worst-case time, per operation. Sitarski and Brodnik et al.\ describe much better solutions that maintain a resizable array of size~ using only space, still with time per operation. Brodnik et al.\ give a simple proof that this is best possible. We distinguish between the space needed for \emph{storing} a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Evolutionary Algorithms and Applications · Distributed systems and fault tolerance
