🤖 AI Summary
This work addresses the dynamic convex hull maintenance problem under frequent insertions of coordinate-sorted (x/y) points. We propose a cache-friendly, vectorized data structure that integrates a Graham’s scan variant, batched insertion, and a logarithmic hierarchical vector storage scheme. In the insertion-only setting, it achieves O(log²n) query time and O(log n) contiguous memory accesses, significantly improving cache hit rates and spatial locality over traditional pointer-based structures. Experimental results show that the proposed structure delivers superior performance for large convex hulls (large h), whereas naive O(h) algorithms remain competitive for small-to-medium instances due to their low constant factors. The key contribution is the first systematic integration of vectorized storage with geometric properties—jointly optimizing memory access patterns, space efficiency, and robustness—thereby advancing the trade-off among these three critical dimensions in computational geometry data structures.
📝 Abstract
Convex hull data structures are fundamental in computational geometry. We study insertion-only data structures, supporting various containment and intersection queries. When $P$ is sorted by $x$- or $y$-coordinate, convex hulls can be constructed in linear time using classical algorithms such as Graham scan. We investigate a variety of methods tailored to the insertion-only setting. We explore a broad selection of trade-offs involving robustness, memory access patterns, and space usage, providing an extensive evaluation of both existing and novel techniques. Logarithmic-time methods rely on pointer-based tree structures, which suffer in practice due to poor memory locality. Motivated by this, we develop a vector-based solution inspired by Overmars' logarithmic method. Our structure has worse asymptotic bounds, supporting queries in $O(log^2 n)$ time, but stores data in $O(log n)$ contiguous vectors, greatly improving cache performance.
Through empirical evaluation on real-world and synthetic data sets, we uncover surprising trends. Let $h$ denote the size of the convex hull. We show that a naïve $O(h)$ insertion-only algorithm based on Graham scan consistently outperforms both theoretical and practical state-of-the-art methods under realistic workloads, even on data sets with rather large convex hulls. While tree-based methods with $O(log h)$ update times offer solid theoretical guarantees, they are never optimal in practice. In contrast, our vector-based logarithmic method, despite its theoretically inferior bounds, is highly competitive across all tested scenarios. It is optimal whenever the convex hull becomes large.