An Optimal Dynamic Data Structure for Stabbing-Semigroup Queries
read more
Citations
Improved bounds for orthogonal point enclosure query and point location in orthogonal subdivisions in R3
Efficient Top-k Indexing via General Reductions
Approximate range counting revisited
Dynamic Planar Orthogonal Point Location in Sublogarithmic Time
A Dynamic I/O-Efficient Structure for One-Dimensional Top-k Range Reporting
References
Introduction to Algorithms
Computational Geometry: Algorithms and Applications
The input/output complexity of sorting and related problems
A data structure for dynamic trees
Related Papers (5)
Frequently Asked Questions (13)
Q2. What is the way to solve the stabbing-semigroup problem?
For the stabbing-semigroup problem, the I/O-efficient interval tree developed by Arge and Vitter [5] can be used to construct a linear-size data structure for answering a stabbing-semigroup query in O(logB n) I/Os.
Q3. What is the way to handle a stabbing-semigroup query?
A set S of n intervals, whose endpoints belong to a fixed set of O(n) points, can be maintained in a data structure of linear size so that a stabbing-semigroup query can be answered in O(logn) time.
Q4. What is the way to solve the stabbingsemigroup query?
A set of n intervals can be maintained in linear-size data structure so that a stabbingsemigroup query can be answered in O(logn) time worst-case, and an interval can be inserted or deleted in amortized O(logn) time.
Q5. How do the authors update the affected left interval structures?
The authors update the affected left interval structures by traversing the subtrees of v′ and v′′ (i.e., the former subtree of v) bottom-up.
Q6. How can the authors rebuild the base tree without the secondary structures?
The authors can rebuild the base tree (without the secondary structures) T in O(n) time and perform Θ(n) insertions in O(n logn) time to construct the secondary structures.
Q7. What is the easiest way to handle deletions of endpoints?
In order to handle insertions of endpoints, the authors make the base tree T a weight-balanced B-tree with branching factor f and leaf parameter log n [5].
Q8. What is the time it takes to rearrange the middle intervals in a node?
The time it takes to perform the split is O(nv log logn); the split time at an internal node is dominated by the time it takes to rearrange the middle intervals in the subtree of v into their multislab structures.
Q9. What is the weight of the element corresponding to the pair v′, v′′?
Finally for every w with v′ ≤ w ≤ v′′, the authors update the weight of the element corresponding to the pair v′, v′′ in the slab BST Mv(w), to be ω(Mv(v′, v′′)).
Q10. How do the authors use the lower bound for partial sums?
The authors also show how to use the lower bound by Pǎtraşcu and Demaine [16] for partial sums to prove a lower bound on the trade-off between the query time and the deletion time in a deletiononly data structure for the stabbing-group problem.
Q11. How can the authors extend the structure to higher dimensions?
Their structure can be extended to higher dimensions using segment trees in a standard way [14], by paying a penalty of an O(logn) factor in both time and space for each additional dimension, but the results may not be optimal in two or higher dimensions.
Q12. What is the function that splits the tree containing v?
This operation connects the tree containing v with the tree containing w by adding an edge with cost c between v and w with w being the parent.• CUT(v): Splits the tree containing v by removing the edge from v to its parent.
Q13. How can the authors solve the partial-sum problem?
A sequence of operations for the partial-sum problem can be solved by performing a sequence of insert and query operations on a dynamic stabbing-group data structure, for the group Z/nZ, as follows.