Agglomerative Clustering of Growing Squares

  • Thom CastermansEmail author
  • Bettina Speckmann
  • Frank Staals
  • Kevin Verbeek
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10807)


We study an agglomerative clustering problem motivated by interactive glyphs in geo-visualization. Consider a set of disjoint square glyphs on an interactive map. When the user zooms out, the glyphs grow in size relative to the map, possibly with different speeds. When two glyphs intersect, we wish to replace them by a new glyph that captures the information of the intersecting glyphs.

We present a fully dynamic kinetic data structure that maintains a set of n disjoint growing squares. Our data structure uses \(O(n (\log n \log \log n)^2)\) space, supports queries in worst case \(O(\log ^3 n)\) time, and updates in \(O(\log ^7 n)\) amortized time. This leads to an \(O(n\alpha (n)\log ^7 n)\) time algorithm (where \(\alpha \) is the inverse Ackermann function) to solve the agglomerative clustering problem, which is a significant improvement over the straightforward \(O(n^2 \log n)\) time algorithm.


  1. 1.
    Agarwal, P.K., Kaplan, H., Sharir, M.: Kinetic and dynamic data structures for closest pair and all nearest neighbors. ACM Trans. Algorithms 5(1), 4:1–4:37 (2008)MathSciNetGoogle Scholar
  2. 2.
    Ahn, H.-K., Bae, S.W., Choi, J., Korman, M., Mulzer, W., Oh, E., Park, J.-W., van Renssen, A., Vigneron, A.: Faster algorithms for growing prioritized disks and rectangles. In: International Symposium on Symbolic and Algebraic Computation, pp. 1–13 (2017)Google Scholar
  3. 3.
    Alexandron, G., Kaplan, H., Sharir, M.: Kinetic and dynamic data structures for convex hulls and upper envelopes. Comput. Geom. Theory Appl. 36(2), 144–1158 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Bahrdt, D., Becher, M., Funke, S., Krumpe, F., Nusser, A., Seybold, M., Storandt, S.: Growing balls in \(\mathbb{R}^d\). In: Proceedings of the 19th Workshop on Algorithm Engineering and Experiments, pp. 247–258 (2017)Google Scholar
  5. 5.
    Castermans, T., Speckmann, B., Staals, F., Verbeek, K.: Agglomerative clustering of growing squares. ArXiv e-prints (2017)Google Scholar
  6. 6.
    Castermans, T., Speckmann, B., Verbeek, K., Westenberg, M.A., Betti, A., van den Berg, H.: GlamMap: geovisualization for e-humanities. In: Proceedings of the 1st Workshop on Visualization for the Digital Humanities (2016)Google Scholar
  7. 7.
    Funke, S., Krumpe, F., Storandt, S.: Crushing disks efficiently. In: Mäkinen, V., Puglisi, S.J., Salmela, L. (eds.) IWOCA 2016. LNCS, vol. 9843, pp. 43–54. Springer, Cham (2016). CrossRefGoogle Scholar
  8. 8.
    Funke, S., Storandt, S.: Parametrized runtimes for ball tournaments. In: Proceedings of the 33rd European Workshop on Computational Geometry, pp. 221–224 (2017)Google Scholar
  9. 9.
    Guibas, L.: Kinetic data structures. In: Mehta, D.P., Sahni, S. (eds.) Handbook of Data Structures and Applications, pp. 23:1–23:18. CRC Press, Boca Raton (2004)Google Scholar
  10. 10.
    Mehlhorn, K.: Data Structures and Algorithms 1: Sorting and Searching. Springer, Heidelberg (1984). CrossRefzbMATHGoogle Scholar
  11. 11.
    Nievergelt, J., Reingold, E.M.: Binary search trees of bounded balance. SIAM J. Comput. 2(1), 33–43 (1973)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.TU EindhovenEindhovenThe Netherlands
  2. 2.Utrecht UniversityUtrechtThe Netherlands

Personalised recommendations