The input/output complexity of sorting and related problems
Communications of the ACM
A data structure for dynamic trees
Journal of Computer and System Sciences
Multi-method dispatching: a geometric approach with applications to string matching problems
STOC '99 Proceedings of the thirty-first annual ACM symposium on Theory of computing
Journal of the ACM (JACM)
External memory algorithms and data structures
External memory algorithms
Introduction to algorithms
Incremental Computation and Maintenance of Temporal Aggregates
Proceedings of the 17th International Conference on Data Engineering
Efficient Dynamic Method-Lookup for Object Oriented Languages (Extended Abstract)
ESA '96 Proceedings of the Fourth Annual European Symposium on Algorithms
External memory data structures
Handbook of massive data sets
Dynamic rectangular intersection with priorities
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
Space efficient dynamic stabbing with fast queries
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
Data Structures For One-Dimensional Packet Classification Using Most-Specific-Rule Matching
ISPAN '02 Proceedings of the 2002 International Symposium on Parallel Architectures, Algorithms and Networks
Optimal External Memory Interval Management
SIAM Journal on Computing
An optimal dynamic interval stabbing-max data structure?
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Logarithmic Lower Bounds in the Cell-Probe Model
SIAM Journal on Computing
Algorithms for packet classification
IEEE Network: The Magazine of Global Internetworking
Hi-index | 0.00 |
Let $S$ be a set of $n$ intervals in $\mathbb{R}$, and let $(\mathbf{S}, +)$ be any commutative semigroup. We assign a weight $\omega(s) \in \mathbf{S}$ to each interval in $S$. For a point $x \in \mathbb{R}$, let $S(x) \subseteq S$ be the set of intervals that contain $x$. Given a point $q \in \mathbb{R}$, the stabbing-semigroup query asks for computing $\sum_{s \in S(q)} \omega(s)$. We propose a linear-size dynamic data structure, under the pointer-machine model, that answers queries in worst-case $O(\log n)$ time and supports both insertions and deletions of intervals in amortized $O(\log n)$ time. It is the first data structure that attains the optimal $O(\log n)$ bound for all three operations. Furthermore, our structure can easily be adapted to external memory, where we obtain a linear-size structure that answers queries and supports updates in $O(\log_B n)$ I/Os, where $B$ is the disk block size. For the restricted case of a nested family of intervals (either every pair of intervals is disjoint or one contains the other), we present a simpler solution based on dynamic trees.