Skip to main content
Log in

Dynamic Geometric Data Structures via Shallow Cuttings

  • Published:
Discrete & Computational Geometry Aims and scope Submit manuscript

Abstract

We present new results on a number of fundamental problems about dynamic geometric data structures: (1) We describe the first fully dynamic data structures with sublinear amortized update time for maintaining (i) the number of vertices or the volume of the convex hull of a 3D point set, (ii) the largest empty circle for a 2D point set, (iii) the Hausdorff distance between two 2D point sets, (iv) the discrete 1-center of a 2D point set, (v) the number of maximal (i.e., skyline) points in a 3D point set. The update times are near \(n^{11/12}\) for (i) and (ii), \(n^{5/6}\) for (iii) and (iv), and \(n^{2/3}\) for (v). Previously, sublinear bounds were known only for restricted “semi-online” settings (Chan in SIAM J. Comput. 32(3), 700–716 (2003)). (2) We slightly improve previous fully dynamic data structures for answering extreme point queries for the convex hull of a 3D point set and nearest neighbor search for a 2D point set. The query time is \(O(\log ^2\!n)\), and the amortized update time is \(O(\log ^4\!n)\) instead of \(O(\log ^5\!n)\) (Chan in J. ACM 57(3), # 16 (2010); Kaplan et al. in 28th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 2495–2504. SIAM, Philadelphia (2017)). (3) We also improve previous fully dynamic data structures for maintaining the bichromatic closest pair between two 2D point sets and the diameter of a 2D point set. The amortized update time is \(O(\log ^4\!n)\) instead of \(O(\log ^7\!n)\) (Eppstein in Discrete Comput. Geom. 13(1), 111–122 (1995); Chan in J. ACM 57(3), # 16 (2010); Kaplan et al. in 28th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 2495–2504. SIAM, Philadelphia (2017)).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. Throughout the paper, we use the \({\widetilde{O}}\) notation to hide polylogarithmic factor, and \(O^*\) notation to hide \(n^{\varepsilon }\) factors for an arbitrarily small constant \({\varepsilon }>0\).

  2. Matoušek’s original formulation in \({\mathbb {R}}^d\) states the existence of a (kn/r)-shallow cutting with \(O\bigl (r^{\lfloor d/2\rfloor }(1+kr/n)^{\lceil d/2\rceil }\bigr )\) cells.

  3. See  [17] for a new reduction, discovered after the present work, which still requires two extra logarithmic factors in general.

  4. In a \((-\infty ,k)\)-shallow cutting, the cells are not required to cover any particular region.

  5. Line 4 is where Kaplan et al.’s improvement lies  [26]. The original data structure from [13] basically had \(H_i=H_{i-1} -\{h\in H: h\) intersects more than \(2cc'\ell \) cells of \(\varGamma _{i}\}\).

References

  1. Afshani, P., Chan, T.M.: Optimal halfspace range reporting in three dimensions. In: 20th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 180–186. SIAM, Philadelphia (2009)

    MATH  Google Scholar 

  2. Agarwal, P.K.: Simplex range searching and its variants: a review. In: A Journey Through Discrete Mathematics, pp. 1–30. Springer, Cham (2017)

    MATH  Google Scholar 

  3. Agarwal, P.K., Matoušek, J.: Ray shooting and parametric search. SIAM J. Comput. 22(4), 794–806 (1993)

    Article  MathSciNet  Google Scholar 

  4. Agarwal, P.K., Matoušek, J.: On range searching with semialgebraic sets. Discrete Comput. Geom. 11(4), 393–418 (1994)

    Article  MathSciNet  Google Scholar 

  5. Agarwal, P.K., Matoušek, J.: Dynamic half-space range reporting and its applications. Algorithmica 13(4), 325–345 (1995)

    Article  MathSciNet  Google Scholar 

  6. Agarwal, P.K., Matoušek, J., Sharir, M.: On range searching with semialgebraic sets. II. SIAM J. Comput. 42(6), 2039–2062 (2013)

    Article  MathSciNet  Google Scholar 

  7. Bentley, J.L., Saxe, J.B.: Decomposable searching problems I. Static-to-dynamic transformation. J. Algorithms 1(4), 301–358 (1980)

    Article  MathSciNet  Google Scholar 

  8. de Berg, M., Cheong, O., van Kreveld, M., Overmars, M.: Computational Geometry. Algorithms and Applications. Springer, Berlin (2008)

    Book  Google Scholar 

  9. Brodal, G.S., Jacob, R.: Dynamic planar convex hull. In: 43rd Annual Symposium on Foundations of Computer Science (Vancouver 2002), pp. 617–626. IEEE Computer Society, Los Alamitos (2002)

  10. Chan, T.M.: Dynamic planar convex hull operations in near-logarithmic amortized time. J. ACM 48(1), 1–12 (2001)

    Article  MathSciNet  Google Scholar 

  11. Chan, T.M.: A fully dynamic algorithm for planar width. Discrete Comput. Geom. 30(1), 17–24 (2003)

    Article  MathSciNet  Google Scholar 

  12. Chan, T.M.: Semi-online maintenance of geometric optima and measures. SIAM J. Comput. 32(3), 700–716 (2003)

    Article  MathSciNet  Google Scholar 

  13. Chan, T.M.: A dynamic data structure for 3-D convex hulls and 2-D nearest neighbor queries. J. ACM 57(3), # 16 (2010)

    Article  MathSciNet  Google Scholar 

  14. Chan, T.M.: Optimal partition trees. Discrete Comput. Geom. 47(4), 661–690 (2012)

    Article  MathSciNet  Google Scholar 

  15. Chan, T.M.: Three problems about dynamic convex hulls. Int. J. Comput. Geom. Appl. 22(4), 341–364 (2012)

    Article  MathSciNet  Google Scholar 

  16. Chan, T.M.: Dynamic geometric data structures via shallow cuttings. In: 35th International Symposium on Computational Geometry. Leibniz International Proceedings in Informatics, vol. 129, # 24. Leibniz-Zent. Inform., Wadern (2019)

  17. Chan, T.M.: Dynamic generalized closest pair: revisiting Eppstein’s technique. In: 3rd Symposium on Simplicity in Algorithms (Salt Lake City 2020), pp. 33–37. SIAM, Philadelphia (2020)

  18. Chan, T.M., Larsen, K.G., Pătraşcu, M.: Orthogonal range searching on the RAM, revisited. In: 27th Annual Symposium on Computational Geometry, pp. 1–10. ACM, New York (2011)

  19. Chan, T.M., Pătraşcu, M., Roditty, L.: Dynamic connectivity: connecting to networks and geometry. SIAM J. Comput. 40(2), 333–349 (2011)

    Article  MathSciNet  Google Scholar 

  20. Chan, T.M., Tsakalidis, K.: Optimal deterministic algorithms for 2-d and 3-d shallow cuttings. Discrete Comput. Geom. 56(4), 866–881 (2016)

    Article  MathSciNet  Google Scholar 

  21. Dobkin, D.P., Kirkpatrick, D.G.: Determining the separation of preprocessed polyhedra—a unified approach. In: Automata, Languages and Programming (Coventry 1990). Lecture Notes in Computer Science, vol. 443, pp. 400–413. Springer, New York (1990)

  22. Dobkin, D., Suri, S.: Maintenance of geometric extrema. J. Assoc. Comput. Mach. 38(2), 275–298 (1991)

    Article  MathSciNet  Google Scholar 

  23. Eppstein, D.: Dynamic Euclidean minimum spanning trees and extrema of binary functions. Discrete Comput. Geom. 13(1), 111–122 (1995)

    Article  MathSciNet  Google Scholar 

  24. Eppstein, D.: Fast hierarchical clustering and other applications of dynamic closest pairs. ACM J. Exp. Algorithmics 5, # 1 (2000)

    Article  MathSciNet  Google Scholar 

  25. Holm, J., Rotenberg, E., Wulff-Nilsen, Ch.: Faster fully-dynamic minimum spanning forest. Algorithms—ESA 2015. Lecture Notes in Computer Science, vol. 9294, pp. 742–753. Springer, Heidelberg (2015)

  26. Kaplan, H., Mulzer, W., Roditty, L., Seiferth, P., Sharir, M.: Dynamic planar Voronoi diagrams for general distance functions and their algorithmic applications. In: 28th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 2495–2504. SIAM, Philadelphia (2017)

  27. Koltun, V.: Almost tight upper bounds for vertical decompositions in four dimensions. J. ACM 51(5), 699–730 (2004)

    Article  MathSciNet  Google Scholar 

  28. Matoušek, J.: Efficient partition trees. Discrete Comput. Geom. 8(3), 315–334 (1992)

    Article  MathSciNet  Google Scholar 

  29. Matoušek, J.: Reporting points in halfspaces. Comput. Geom. 2(3), 169–186 (1992)

    Article  MathSciNet  Google Scholar 

  30. Matoušek, J.: Linear optimization queries. J. Algorithms 14(3), 432–448 (1993)

    Article  MathSciNet  Google Scholar 

  31. Overmars, M.H.: The Design of Dynamic Data Structures. Lecture Notes in Computer Science, vol. 156. Springer, Berlin (1983)

    MATH  Google Scholar 

  32. Overmars, M.H., van Leeuwen, J.: Maintenance of configurations in the plane. J. Comput. Syst. Sci. 23(2), 166–204 (1981)

    Article  MathSciNet  Google Scholar 

  33. Ramos, E.A.: On range reporting, ray shooting and \(k\)-level construction. In: 15th Annual Symposium on Computational Geometry (Miami Beach 1999), pp. 390–399. ACM, New York (1999)

  34. Sharir, M., Zaban, S.: Output-sensitive tools for range searching in higher dimensions (2013). arXiv:1312.6305

Download references

Acknowledgements

I thank Sariel Har-Peled for discussions on other problems that indirectly led to the results of this paper. Thanks also to Mitchell Jones for discussions on range searching for points in convex position (used in the proof of Theorem 3.1), Pankaj Agarwal for pointing out an error in an earlier proof of Theorem 2.3, and the referees for all their comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timothy M. Chan.

Additional information

Editor in Charge: Kenneth Clarkson

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Work supported in part by NSF Grant CCF-1814026. A preliminary version of this work appeared in [16]

Appendix: Proof of Lemma 4.1

Appendix: Proof of Lemma 4.1

We describe how a proof by Chan and Tsakalidis [20, Thm. 5] can be adapted to show Lemma 4.1, as restated below:

Lemma 4.1

  There exist constants b, c, and \(c'\) such that the following is true: For a set H of at most n planes in \({\mathbb {R}}^3\) and a parameter \(k\in [1,n]\), given a convex \((-\infty ,cbk)\)-shallow cutting \(\varGamma _{\mathrm{in}}\) with at most \(c'n/(bk)\) downward cells, together with their conflict lists, we can construct a convex \(\varGamma _{\mathrm{in}}\)-restricted (kck)-shallow cutting \(\varGamma _{\mathrm{out}}\) with at most \(c'n/k\) downward cells, together with their conflict lists, in \(O(n + (n/k)\log (n/k))\) deterministic time.

Proof

As in the previous paper  [20], it is more convenient to work with shallow cuttings in vertex form: given a set H of n planes in \({\mathbb {R}}^3\), a (k, K)-shallow cutting in vertex form is a set V of points whose upper hull \(\mathrm{UH}(V)\) covers all points in \({\mathbb {R}}^3\) of level at most k, such that every point in V has level at most K. The conflict list of a point refers to the list of all planes of H below the point.

Chan and Tsakalidis [20, Thm. 5] proved the following statement for some constants B, C, and \(C'\):

For a set H of at most n planes in \({\mathbb {R}}^3\) and a parameter \(k\in [1,n]\), given a (BkCBk)-shallow cutting \(V_{\mathrm{in}}\) in vertex form with at most \(C'n/(Bk)\) vertices, together with their conflict lists, we can construct a (kCk)-shallow cutting \(V_{\mathrm{out}}\) in vertex form with at most \(C'n/k\) vertices, together with their conflict lists, in \(O(n + (n/k)\log (n/k))\) deterministic time.

By a close inspection of their proof, we actually get the following stronger statement for any choice of constants B, \(C'\), and t, where \(a_0'\), \(c_0\), and \(c_0'\) are absolute constants:

For a set H of at most n planes in \({\mathbb {R}}^3\) and a parameter \(k\in [1,n]\), given a \((12c_0^2k, CBk)\)-shallow cutting \(V_{\mathrm{in}}\) in vertex form with at most \(C'n/(Bk)\) vertices, together with their conflict lists, we can construct a (kCk)-shallow cutting \(V_{\mathrm{out}}\) in vertex form with at most \(C''n/k\) vertices, together with their conflict lists, in \(O(n + (n/k)\log (n/k))\) deterministic time, where \(C=12c_0^2+1\) and \(C''= 2c_0' + {8a_0'c_0'CC'}/({3c_0\sqrt{t}})\).

Set \(b=B/6\), \(c=3C\), and \(c'=C'/18\). To derive Lemma 4.1 from the above statement, we first convert \(\varGamma _{\mathrm{in}}\) to vertex form, simply by letting \(V_{\mathrm{in}}\) to be the vertex set of the convex polyhedron \(\mathcal{P}_{\mathrm{in}}\) formed by unioning the cells in \(\varGamma _{\mathrm{in}}\). The polyhedron \(\mathcal{P}_{\mathrm{in}}\) has at most \(c'n/(bk)\) faces, at most \(3c'n/(3bk)=c'n/(bk)\) vertices, and at most \(3c'n/(2bk)\) edges. It is helpful to assume that each vertex has degree 3 in \(\mathcal{P}_{\mathrm{in}}\); this can be guaranteed by intersecting \(\mathcal{P}_{\mathrm{in}}\) with extra planes infinitesimally close to each vertex (the number of new vertices is equal to twice the number of old edges). After this modification, \(\mathcal{P}_{\mathrm{in}}\) has \(|V_{\mathrm{in}}|\le 3c'n/(bk)=C'n/(Bk)\) vertices, and at most \(2c'n/(bk) = 2C'n/(3Bk)\) faces.

We cannot apply the above result to H directly. Instead, we make \(12 c_0^2k\) copies of the plane through each face of \(\mathcal{P}_{\mathrm{in}}\), and add them to H. The new set \({\widehat{H}}\) of planes has size \({\widehat{n}}\le n +12 c_0^2k\cdot 2C'n/(3Bk)\le 2n\), assuming \(B\ge 8c_0^2C'\). Then \(\mathcal{P}_{\mathrm{in}}=\mathrm{UH}(V_{\mathrm{in}})\) covers all points of level at most \(12 c_0^2k\) in \({\widehat{H}}\). Each point in \(V_{\mathrm{in}}\) has level at most \(cbk + 3\cdot 12 c_0^2k\le CBk\) in \({\widehat{H}}\), assuming \(B\ge 72 c_0^2\).

We can now apply the above result to \({\widehat{H}}\), and obtain a (kCk)-shallow cutting \(V_{\mathrm{out}}\) for \({\widehat{H}}\) in vertex form. We can set \(\varGamma _{\mathrm{out}}\) to be the vertical decomposition of \(\mathrm{UH}(V_{\mathrm{out}})\), which has at most \(2|V_{\mathrm{out}}|\) cells. Each cell of \(\varGamma _{\mathrm{out}}\) intersects at most \(3Ck=ck\) planes of H. Every point covered by \(\varGamma _{\mathrm{in}}\) with level at most k in H has level at most k in \({\widehat{H}}\) and is thus covered by \(\varGamma _{\mathrm{out}}\). Furthermore, \(|\varGamma _{\mathrm{out}}|\le 2C''{\widehat{n}}/k\le 4C''n/k=4 (2c_0'+{8a_0'c_0'CC'}/({3c_0\sqrt{t}})) n/k\le 12 c_0'n/k\) by setting \(t=({8a_0'CC'}/({3c_0}))^2\). Thus, \(|\varGamma _{\mathrm{out}}|\le C'n/k\) by setting \(C'=36\cdot 12 c_0'\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chan, T.M. Dynamic Geometric Data Structures via Shallow Cuttings. Discrete Comput Geom 64, 1235–1252 (2020). https://doi.org/10.1007/s00454-020-00229-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00454-020-00229-5

Keywords

Mathematics Subject Classification

Navigation