# Agglomerative Clustering of Growing Squares

## Abstract

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.

# Agglomerative Clustering of Growing Squares

Proc. 2018 Latin American Theoretical Informatics Symposium, 2018

@incollection{zoomingsquares2018,
author = {Castermans, Thom and Speckmann, Bettina and Staals, Frank
and Verbeek, Kevin},
title = {Agglomerative Clustering of Growing Squares},
booktitle = {Proc. 2018 Latin American Theoretical Informatics Symposium},
editor = {Bender, Michael A. and Farach-Colton, Mart{\'i}n and Mosteiro, Miguel A.},
series = {LNCS},
year = {2018},
location = {Buenos Aires, Argentina},
numpages = {14},
publisher = {Springer},
category = {datastructures},
keywords = {kinetic data structures},
pages = {260--274},
isbn = {978-3-319-77404-6},
url = {https://doi.org/10.1007/978-3-319-77404-6_20},
doi = {10.1007/978-3-319-77404-6_20},
}


# Agglomerative Clustering of Growing Squares

Abstr. 34th European Workshop on Computational Geometry (EuroCG), 2017

@article{zoomingsquares2018_eurocg,
author = {Castermans, Thom and Speckmann, Bettina, and Staals, Frank
and Verbeek, Kevin},
title = {Agglomerative Clustering of Growing Squares},
journal = {Abstr. 34th European Workshop on Computational Geometry (EuroCG)},
year = {2017},
location = {Berlin, Germany},
numpages = {6},
category = {datastructures},
project = {zoomingsquares2018},
keywords = {kinetic data structures},