July 14, 2026
The minimum spanning tree (MST) problem is one of the most basic optimization problems on metric spaces and graphs. We study the problem of computing a \((1+\epsilon)\)-approximation to the MST of an \(n\)-point metric space \((X,\mathop{\mathrm{\mathbf{d}}})\) of doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\). In doubling metrics, previous deterministic algorithms incur a running time with dependence \(\epsilon^{-O(\mathop{\mathrm{\operatorname{ddim}}})}\).
We give a deterministic algorithm that computes a \((1+\epsilon)\)-approximation to MST in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \bigl(\log n + \epsilon^{-1} \log^4(1/\epsilon)\bigr)\). For bounded doubling dimension, this improves the previous dependence on \(\epsilon\) from \(\epsilon^{-O(\mathop{\mathrm{\operatorname{ddim}}})}\) to essentially linear in \(\epsilon^{-1}\). Moreover, as a special case, our result improves the previous best deterministic running time for bounded-dimensional Euclidean metrics due to Arya and Mount [SODA’16] by almost a factor of \(\epsilon^{-1}\). We also show that, unlike in bounded-dimensional Euclidean spaces, MSTs in bounded doubling metrics can have arbitrarily large maximum degree, while every doubling metric nevertheless admits a \((1+\epsilon)\)-approximate MST of maximum degree \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\log(1/\epsilon)\).
Computing a minimum spanning tree (MST) is one of the most fundamental problems in combinatorial optimization, with numerous applications. In this paper we consider the following approximate version of the problem. Given an \(n\)-point metric space \((X,\mathop{\mathrm{\mathbf{d}}})\) and an error parameter \(\epsilon > 0\), the objective is to compute a spanning tree on \(X\) whose total weight is at most \((1+\epsilon)\) times the weight of the exact MST. We are interested in the setting where the input metric has bounded doubling dimension, a standard notion of low-dimensionality for general metric spaces that includes bounded-dimensional Euclidean spaces as a special case. Throughout, we let \(\mathop{\mathrm{\operatorname{ddim}}}\) denote the doubling dimension of \(X\); a formal definition is given in 2.
A straightforward solution is to construct the complete weighted graph on \(X\) and compute its MST, which takes quadratic time in the number of points. In Euclidean spaces, much better exact algorithms are known. In the plane, Shamos and Hoey showed that the Euclidean MST is a subgraph of the Delaunay triangulation, which yields an \(O(n \log n)\)-time algorithm [1]. For higher but constant dimension, the problem can be solved in subquadratic time [2], [3], but the running times remain far from linear except in very low dimensions. Recently, Chan and Zheng [4] obtained an algorithm with \(O(n^{2\lceil d/2 \rceil / (\lceil d/2 \rceil -1)})\), i.e. \(O(n^{4/3})\) running time for \(d=3\) and \(d=4\).
This has led to extensive work on approximation algorithms. In Euclidean spaces, Vaidya’s results on sparse spanners imply an \(O(\epsilon^{-d} n \log n)\)-time algorithm for computing a \((1+\epsilon)\)-approximate MST [5]. Callahan and Kosaraju introduced the well-separated pair decomposition (WSPD) [6] and showed how to combine it with approximate bichromatic closest-pair computations to obtain a deterministic algorithm with running time \(O\!\left(n \log n + n \epsilon^{-d/2}\log(1/\epsilon)\right)\) for fixed dimension [7]. More recently, Arya and Chan reduced the dependence on \(\epsilon\) further via improved approximate nearest-neighbor machinery, obtaining a randomized algorithm with better dimension dependence [8]. The previous best deterministic algorithm in bounded-dimensional Euclidean space, due to Arya and Mount, runs in time \(O\!\left(n \log n + n \epsilon^{-2}\log^2(1/\epsilon)\right)\) for fixed \(d\) [9]. In high dimensions one can obtain an \(O(c)\)-approximation by first computing a spanner with \(O(n^{1+1/c^2} \log n \log c)\) edges [10] and then the spanning tree on this graph.
The more general setting of doubling metrics has also received considerable attention. Low-dimensional metrics were studied systematically by Talwar [11], and Har-Peled and Mendel developed near-linear-time hierarchical nets for doubling metrics and applied them to, among other things, WSPDs and spanner construction [12]. These tools yield deterministic \((1+\epsilon)\)-approximation algorithms for MST in bounded doubling dimension with near-linear dependence on \(n\), but with a dependence on \(\epsilon\) of the form \(\epsilon^{-O(\mathop{\mathrm{\operatorname{ddim}}})}\). Bounded doubling dimension strictly generalizes bounded-dimensional Euclidean spaces and includes a number of other natural metric classes. In particular, every fixed-dimensional normed space, such as \(\ell_1^d\), \(\ell_2^d\), and \(\ell_\infty^d\), has bounded doubling dimension, and the class also contains more general metric spaces of low intrinsic dimension, such as finite subsets of low-dimensional manifolds and other low-growth metrics.
Another line of work considers approximating only the weight of the MST. This direction originated with the graph algorithm of Chazelle, Rubinfeld, and Trevisan [13] (see also [14]). Czumaj et al.adapted these ideas to Euclidean space [15], and Czumaj and Sohler gave a sublinear-time algorithm for approximating the MST weight in arbitrary metric spaces, assuming access to a distance oracle [16]. These results are incomparable to ours: they estimate only the weight, whereas our goal is to compute an explicit spanning tree.
We work in the standard distance-oracle / real-RAM model, as in prior work on approximate MSTs in low-dimensional Euclidean spaces, including [9]. In particular, distances can be queried in constant time, and in the Euclidean setting we allow constant-time arithmetic operations on point coordinates.
We give a deterministic algorithm that computes a \((1+\epsilon)\)-approximation to MST in an \(n\)-point metric space of doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\) in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \bigl(\log n + \epsilon^{-1}\log^4(1/\epsilon)\bigr)\). For bounded doubling dimension, this improves the previous \(\epsilon^{-O(\mathop{\mathrm{\operatorname{ddim}}})}\) dependence to essentially linear in \(\epsilon^{-1}\). As a special case, it also improves the previous best deterministic bound in bounded-dimensional Euclidean spaces due to Arya and Mount [9] by almost a factor of \(1/\epsilon\).
theoremthmmain There is a deterministic algorithm that, given as input an \(n\)-point metric space \((X,
\mathop{\mathrm{\mathbf{d}}})\) with doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\), computes a \((1 + \epsilon)\)-approximation to MST in time
\(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} \log^4(1/\epsilon))\).
At a high level, our algorithm follows the classical well-separated-pair approach to MST. Instead of working with a well-separated pair decomposition (WSPD), however, we use a well-separated pair cover (WSPC), which can be viewed as a relaxed analogue of a WSPD: every relevant pair of points is still covered by a well-separated pair of clusters, but the same pair of points may now be covered more than once. For each pair \((U,V)\) in the cover, we add a representative edge that approximates the closest pair between \(U\) and \(V\). The main challenge is therefore to approximate these closest pairs quickly enough.
Our algorithm is guided directly by a lower-bound argument based on the nested net hierarchy. For every level of the hierarchy, the corresponding net induces a lower bound on \(\mathop{\mathrm{MST}}(X)\): indeed, by the connection between minimum spanning trees and Steiner trees, the MST of the net is at most twice the MST of the original metric, and hence the size and scale of any net certify a lower bound on \(\mathop{\mathrm{MST}}(X)\). Among all levels, we then identify the level \(\ell^*\) that yields the strongest such bound. This level \(\ell^*\) also determines the algorithmic strategy. Above \(\ell^*\), the number of net points must decrease geometrically, and therefore we can afford to spend geometrically increasing computational effort on higher levels while keeping the total running time near-linear. Significantly below \(\ell^*\), the relevant distances are so small compared to the lower bound at level \(\ell^*\) that even a crude constant-factor approximation contributes only negligible total error. Only for the intermediate range of levels do we need a more accurate closest-pair routine; here we use the approach of Arya and Mount [9]. Since there are only \(O(\log(1/\epsilon))\) such middle levels, this part can also be handled efficiently. Thus, the lower-bound argument and the algorithmic design are tightly coupled: the same multiscale structure that certifies the value of the optimum also dictates how accurately each level must be processed.
While our algorithm is inspired by the Euclidean work of Arya and Mount [9], the extension to doubling metrics is not entirely black-box. Their paper contains two analyses: a simpler one with running time \(O(n\epsilon^{-2}\log^2(n/\epsilon))\), and a more refined one achieving \(O\!\left(n \log n + n \epsilon^{-2}\log^2(1/\epsilon)\right)\). The simpler analysis, combined with some additional insights, can be adapted to bounded doubling metrics. By contrast, the stronger analysis makes essential use of Euclidean geometry and does not appear to extend to the more general doubling-metric setting. Indeed, some structural properties available in bounded-dimensional Euclidean spaces fail completely in doubling metrics. For example, whereas MSTs in bounded-dimensional Euclidean spaces have constant maximum degree, we show that this fails dramatically in bounded doubling metrics: there exist such metrics whose MST has maximum degree \(\Omega(n)\); this is true even for high-dimensional Euclidean spaces with bounded doubling dimension.
propositionlemmalowerbounddegree For every integer \(n\) there exists a finite point set \(X \subset \mathbb{R}^{2n}\) equipped with the Euclidean distance \(\mathop{\mathrm{\mathbf{d}}}\) such that the metric space \((X,\mathop{\mathrm{\mathbf{d}}})\) has bounded doubling dimension, i.e., \(\mathop{\mathrm{\operatorname{ddim}}}(X)=O(1)\), while the minimum spanning tree of \(X\) has maximum degree \(\Omega(n)\). In particular, even in high-dimensional Euclidean spaces of bounded doubling dimension the maximum degree of a minimum spanning tree is unbounded.
We further show that this phenomenon is nevertheless controlled in a weaker sense: the degree of any vertex \(p\) in an MST is at most \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log \Delta\), where \(\Delta\) is the aspect ratio of distances from \(p\). However, we show that every doubling metric admits a \((1+\epsilon)\)-approximate MST of maximum degree \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\). These structural results may be of independent interest.
propositionlemmaapxupperbounddegree Let \((X, \mathop{\mathrm{\mathbf{d}}})\) be a finite metric space with doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\) and \(\epsilon \in (0, 1)\). Then there exists a spanning tree \(T\) of \(X\), such that
(a) The maximum degree of \(T\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\), and
(b) \(w(T) \leq (1 + \epsilon) \mathop{\mathrm{MST}}(X)\).
The remainder of the paper is organized as follows. In 2, we review the background on doubling metrics and introduce the structural tools used in the paper, including net hierarchies and well-separated pair covers. In 3, we present our main algorithm and analyze it. Specifically, 3.1 describes the algorithm, 3.2 proves its approximation guarantee, and 3.3 establishes the running-time bound.
Consider a metric space \((X, \mathop{\mathrm{\mathbf{d}}})\). For a point \(x \in X\) and \(r > 0\), define the ball centered at \(x\) with radius \(r\) to be \(B(x, r) := \{y \in X \colon \mathop{\mathrm{\mathbf{d}}}(x, y) \leq r \}\). The \(r\)-neighborhood of a subset \(S \subseteq X\) is defined as \(B(S, r) := \bigcup_{x \in S} B(x, r)\). Denote the diameter of \(S\) to be \(\mathop{\mathrm{\operatorname{diam}}}(S) := \max_{x, y \in S} \mathop{\mathrm{\mathbf{d}}}(x, y)\). The aspect ratio of \(S\) is defined as the ratio between the largest and smallest interpoint distances of \(S\), denoted as \(\Delta(S) := \frac{\max_{x, y \in S}\mathop{\mathrm{\mathbf{d}}}(x, y)}{\min_{x, y \in S}\mathop{\mathrm{\mathbf{d}}}(x, y)}\). Denote \(\mathop{\mathrm{\mathbf{d}}}(x, S) := \min_{y \in S} \mathop{\mathrm{\mathbf{d}}}(x, y)\) as the distance from \(x\) to point set \(S\), and \(\mathop{\mathrm{\mathbf{d}}}(S, T) := \min_{x \in S, y \in T} \mathop{\mathrm{\mathbf{d}}}(x, y)\) as the distance between two sets \(S\) and \(T\).
Definition 1 (Doubling dimension [17]). The doubling dimension of a metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) is the smallest \(t\geq0\) such that every metric ball can be covered by at most \(2^t\) balls of half the radius. The doubling dimension of a point set \(S\subseteq X\) is the doubling dimension of the metric space \((S, \mathop{\mathrm{\mathbf{d}}})\), and is denoted by \(\mathop{\mathrm{\operatorname{ddim}}}(S)\).
Definition 2 (Packing, covering and net). Consider a metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) and a subset \(S \subseteq X\). For \(\rho > 0\), \(S\) is \(\rho\)-packing if for all \(u, v \in S\), \(\mathop{\mathrm{\mathbf{d}}}(u, v) \geq \rho\). \(S\) is \(\rho\)-covering for \(X\) if for every \(x \in X\), there exists \(u \in S\) such that \(\mathop{\mathrm{\mathbf{d}}}(x, u) \leq \rho\). \(S\) is called a \(\rho\)-net of \(X\) if it is both \(\rho\)-packing and \(\rho\)-covering for \(X\).
Lemma 1 (Packing Property [17]). If \(S\) is \(\rho\)-packing, then \(|S| \leq (\mathop{\mathrm{\operatorname{diam}}}(S) / \rho)^{O(\mathop{\mathrm{\operatorname{ddim}}}(S))}\).
In this section we define net hierarchies that are the main data structure utilized in our algorithm. This data structure is very similar to existing work like the navigating nets construction by Krauthgamer and Lee [18] or the net tree construction by Har Peled and Mendel [12]. We still give a precise definition of the data structure since it differs in details from related work and we are not aware of results in prior work that have the exact properties and model of computation needed for our purposes and could be used as black box.
Let \((X, \mathop{\mathrm{\mathbf{d}}})\) be a metric space with doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\). Without loss of generality, assume the minimum interpoint distance of \(X\) is \(1\) and that the diameter of \(X\) is \(\Delta\). Let \(L = \lceil \log \Delta \rceil + 4 = O(\log \Delta)\). Construct a sequence of nested nets on \(X = N_0 \supseteq N_1 \dots \supseteq N_L,\) such that \[\begin{align} \forall 0 \leq \ell \leq L, \qquad N_\ell \text{ is } 2^{\ell - 3}\text{-packing and } 2^{\ell - 2}\text{-covering for } X. \label{eqn:N95l95properties} \end{align}\tag{1}\] Specifically, \(N_0 = X\) and \(N_L\) contains only one point in \(X\). The net hierarchy is defined to be the collection of these nets, i.e. \(\mathcal{N}:= \{N_0, N_1, \dots, N_L\}.\) It is clear to see the existence of such nested nets satisfying 1 , by letting \(N_0 = X\) and each \(N_\ell\) be a \(2^{\ell - 3}\)-net of \(N_{\ell - 1}\) for \(\ell \geq 1\).
Elements in the data structure \(\mathcal{N}\) are represented as pairs \((u, \ell) \in X \times \{0, 1, \dots, L\}\), where \(u \in N_\ell\) is a net point, and \(\ell\) is called the level of point \(u\). Note that if \((u, \ell)\) is an element in the net hierarchy, then \((u, \ell')\) is also an element for all \(\ell' < \ell\), as the nets are nested. When the context is clear we simply write \(u\) as an element, denote its level by \(\mathop{\mathrm{lev}}(u) = \ell\), and call \(u\) a level-\(\ell\) net point.
Definition 3 (Children). Let \(u, v\) be two net points of the net hierarchy. Say \(v\) is a child of \(u\), if (i) \(\mathop{\mathrm{lev}}(v) = \mathop{\mathrm{lev}}(u) - 1\) and (ii) \(\mathop{\mathrm{\mathbf{d}}}(u, v) \leq 2^{\mathop{\mathrm{lev}}(u) + 1}\). Denote by \(C(u)\) the set of children of \(u\).
Definition 4 (Descendants). Let \(u, v\) be two net points of the net hierarchy. Say \(v\) is a descendant of \(u\), if either (i) \(v\) is a child of \(u\), or (ii) there exists \(w\), such that \(w\) is a descendant of \(u\) and \(v\) is a child of \(w\). For \(\ell < \mathop{\mathrm{lev}}(u)\), denote by \(D_\ell(u) \subseteq N_\ell\) the set of descendants of \(u\) at level \(\ell\), and by \(D(u) := \bigcup_{\ell < \mathop{\mathrm{lev}}(u)} D_\ell(u)\) the set of descendants of \(u\). In particular, \(D_{\mathop{\mathrm{lev}}(u) - 1}(u) = C(u)\).
Remark 1. Given the definition of children and descendants, it might be tempting to think of the net hierarchy as a tree, where each node corresponds to a net point. However, we note that the net hierarchy does not have a tree structure, as different nodes may share the same child/descendant.
The following lemma shows that the descendants of a net point \(u\) are both packing and covering for a local ball around \(u\) of certain radius.
lemmalemmadescpackingcovering Let \(u \in N_\ell\) be a level-\(\ell\) net point. Then for every \(k < \ell\),
(1) Packing: \(D_k(u) \subseteq B(u, 2^{\ell + 2})\), and \(D_k(u)\) is \(2^{k - 3}\)-packing for \(B(u, 2^{\ell + 2})\).
(2) Covering: for every \(x \in B(u, 2^\ell)\), there exists \(v \in D_k(u)\), such that \(\mathop{\mathrm{\mathbf{d}}}(x, v) \leq 2^{k - 2}\).
lemmalemmanumchildrenparent Let \(u \in N_\ell\) be a level-\(\ell\) net point. Then \(|C(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), and \(u\) is the child of at most \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) level-\((\ell + 1)\) net points.
In the net hierarchy data structure \(\mathcal{N}\), each net point \(u \in N_\ell\) maintains a set of pointers to all its children \(C(u) \subseteq N_{\ell - 1}\), for all \(\ell \in \{0, 1, \dots, L\}\). The data structure can be constructed in near-linear time, as summarized in the following [lemma:net95hierarchy95construction]. We provide the proof of [lemma:net95hierarchy95construction] in 6.1 for completeness.
lemmalemmanethierarchyconstruction There is a data structure that, given an \(n\)-point metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) with doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\), minimum interpoint distance \(1\) and diameter \(\Delta\), maintains the net hierarchy \(\mathcal{N}= \{N_0, N_1, \dots, N_L\}\) over \(X\), such that \(X = N_0 \supseteq N_1 \dots \supseteq N_L\) and each \(N_\ell\) is \(2^{\ell - 3}\)-packing and \(2^{\ell - 2}\)-covering for \(X\). Moreover, each net point \(u \in N_\ell\) stores a set of pointers to all its children \(C(u) \subseteq N_{\ell - 1}\), for all \(\ell \in \{0, 1, \dots, L\}\). The data structure can be constructed in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\).
Similar to [9], we use a well-separated pair decomposition (WSPD)-based algorithm for MST. Unlike its simplicity in Euclidean spaces [6], WSPD in doubling spaces (e.g., [11], [12]) has complicated geometric structures. In this section, we construct a slightly relaxed version of WSPD, referred to as the well-separated pair cover (WSPC), which turns out to be sufficient for our MST application. Our construction of WSPC is simple, and it also has nice geometric structures that integrates well with the net hierarchy in 2.1.
Let \(t > 0\). For two subsets \(A, B \subseteq X\), we say a pair \((A, B)\) is \(t\)-separated if \(\mathop{\mathrm{\mathbf{d}}}(A, B) > t \cdot \max\{\mathop{\mathrm{\operatorname{diam}}}(A), \mathop{\mathrm{\operatorname{diam}}}(B)\}\). The well-separated pair cover (WSPC) is defined as follows.
Definition 5 (Well-separated pair cover (WSPC)). Consider a finite metric space \((X, \mathop{\mathrm{\mathbf{d}}})\). For \(t \geq 2\), a \(t\)-well-separated pair cover of \(X\) is a collection of pairs \(\Psi = \{(A_1, B_1), \dots, (A_k, B_k)\}\) of nonempty subsets of \(X\) satisfying the following:
(1) Separation: Each pair \((A, B) \in \Psi\) is \(t\)-separated, i.e, \(\mathop{\mathrm{\mathbf{d}}}(A, B) > t \cdot \max\{\mathop{\mathrm{\operatorname{diam}}}(A), \mathop{\mathrm{\operatorname{diam}}}(B)\}\).
(2) Covering: For any two distinct points \(p,q \in X\), there exists at least one pair \((A,B) \in \Psi\) such that \(p\) lies in either \(A\) or \(B\) and \(q\) in the other set.
Remark 2. Compared to the standard definition of well-separated pair decomposition [6], [11], the only difference of 5 is in [it:WSPC95covering], where we do not require \(A_i \times B_i\) and \(A_j \times B_j\) to be disjoint for \(i \neq j\).5
The following lemma shows the relationship between well-separated pair cover and MST. Similar results also appear in [9] and [7] but are stated for WSPD and Euclidean spaces. We extend them to also work for WSPC and general metrics. We provide a proof in 6.2 for completeness.
lemmalemmaWSPCMST Given a metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) with \(|X| = n\) and a \(t\)-WSPC \(\Psi\) for \(t \geq 2\):
(1) For every pair \((U, V) \in \Psi\), there is at most one edge of \(U \times V\) in the MST of \(X\).
(2) For each MST edge \(e_i^*\), let \((U_i, V_i) \in \Psi\) be an arbitrary pair that contains \(e_i^*\), and let \((p_i, q_i)\) be an arbitrary pair of points from \((U_i, V_i)\). Then \(\{(p_i, q_i)\}_{i = 1}^{n - 1}\) forms a spanning tree of \(X\).
lemmalemmaWSPCdoubling There is an algorithm that, given as input a metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) with \(\mathop{\mathrm{\operatorname{ddim}}}(X) \leq \mathop{\mathrm{\operatorname{ddim}}}\) and aspect ratio \(\Delta\), a net hierarchy \(\mathcal{N}\) over \(X\), and a parameter \(t \geq 2\), computes in \(t^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\) time a collection \(\Psi\) of pairs of net points, such that each pair \((u, v) \in \Psi\) satisfies the following:
(1) Bounded level difference: \(|\mathop{\mathrm{lev}}(u) - \mathop{\mathrm{lev}}(v)| \leq 1\).
(2) Separation: Either \(\mathop{\mathrm{\mathbf{d}}}(u, v) > (2 t + 2) \cdot \max\{2^{\mathop{\mathrm{lev}}(u)}, 2^{\mathop{\mathrm{lev}}(v)}\}\) or \(\mathop{\mathrm{lev}}(u) = \mathop{\mathrm{lev}}(v) = 0\).
(3) Covering: For any two distinct point \(x, y \in X\), there exists at least one pair \((u, v) \in \Psi\) such that \(x\) is in either \(B(u, 2^{\mathop{\mathrm{lev}}(u)})\) or \(B(v, 2^{\mathop{\mathrm{lev}}(v)})\) and \(y\) in the other set.
(4) Bounded degree: Each net point \(u\) appears in at most \(t^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) pairs in \(\Psi\). Consequently, \(|\Psi| \leq t^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\).
In particular, \(\Phi = \{(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) \colon (u, v) \in \Psi\}\) is a \(t\)-WSPC of \(X\), and it can be constructed in time \(t^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\).
We note that although both \(\Psi\) and \(\Phi\) can be constructed efficiently, our MST algorithm does not need to construct the WSPC \(\Phi\) explicitly. Instead, we merely construct the collection \(\Psi\) of centers and, starting from these centers, apply a net-based search on the net hierarchy.
Using the net hierarchy, we can approximate \(\mathop{\mathrm{\operatorname{ddim}}}(X)\) within a constant factor in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}}(X))} n \log \Delta\). See [lemma:ddim95apx] for a formal statement.
By merging nearby points, we can reduce the aspect ratio \(\Delta\) of \(X\) to \(n^{10} / \epsilon\). The formal statement together with its proof is given in [lemma:bounded95spread]. After rescaling, we can assume henceforth that the minimum interpoint distance of \(X\) is \(1\) and the diameter of \(X\) is \(\Delta \leq n^{10} / \epsilon\).
In this section, we give a \((1 + \epsilon)\)-approximation algorithm for MST with improved running time.
At a high level, our algorithm follows the classical well-separated-pair approach to MST, going back to Callahan and Kosaraju and used in particular by Arya and Mount in the Euclidean setting [7], [9]. We first construct a net hierarchy together with a well-separated pair cover (WSPC). For each pair \((U,V)\) in the cover, we add a representative edge intended to approximate the closest pair between \(U\) and \(V\). Thus, as in previous work, the main task is to determine how accurately these representative edges need to be computed at the different scales.
Arya and Mount search for these representative edges with an accuracy that is identical for all scales. By a basic analysis of this approach, the precision parameter has to compensate \(O(\log n)\) scales, which invokes an additional \(\log n\) factor in the running time. They work around this issue with an improved analysis based on decomposition of edge segments, which is tailored to the Euclidean space and does not apply to doubling spaces.
Our starting point is the nested net hierarchy \(X = N_0 \supseteq N_1 \supseteq \dots \supseteq N_L .\) As shown by 3, each level \(\ell\) yields a lower bound on \(\mathop{\mathrm{MST}}(X)\) through the quantity \(2^{\ell/2}|N_\ell|\). We therefore single out the level \(\ell^*\) that gives the strongest such bound, namely \[\label{eqn:def95l42} \ell^* := \mathop{\mathrm{argmax}}_{0 \leq \ell \leq L} 2^{\ell/2} \cdot |N_\ell|.\tag{2}\] This level directly determines the algorithmic treatment of the different scales.
Recall that each WSPC pair \((U,V)\) has the form \(U = B(u,2^{\mathop{\mathrm{lev}}(u)})\) and \(V = B(v,2^{\mathop{\mathrm{lev}}(v)})\). We associate with \((U,V)\) the level \(\ell := \max\{\mathop{\mathrm{lev}}(u),\mathop{\mathrm{lev}}(v)\}\). Depending on this level, our algorithm handles WSPC pairs differently. More precisely, we call a level \(\ell\) low if \(\ell < \ell^* - 10\log(1/\epsilon)\), high if \(\ell > \ell^* + 10\log(1/\epsilon)\), and middle otherwise.
If \(\ell\) is a low level, then the diameter of \(U\) and \(V\) is already exponentially smaller than the lower bound certified at level \(\ell^*\). We therefore do not need an accurate closest-pair computation: it suffices to connect their centers \((u,v)\). Although this is only a crude approximation for an individual pair, the corresponding distances are so small that the total error contributed by all low-level pairs is negligible.
If \(\ell\) is a middle level, then we need a more accurate representative edge. Here we follow the net-based closest-pair approach of Arya and Mount [9]: we refine \(U\) and \(V\) by descending in the hierarchy until either we reach scale \(\epsilon 2^{\mathop{\mathrm{lev}}(u)}\) or the corresponding descendant sets become too large, and then connect the closest pair among the resulting net points. The key point is that there are only \(O(\log(1/\epsilon))\) middle levels in total. Thus, even though this step is more expensive than the crude treatment of low levels, it is applied only on a short interval of scales, which avoids the additional \(\log n\) factor that would arise from carrying out the same refinement over all levels.
Finally, if \(\ell\) is a high level, we again use a net-based search, but now with a threshold that increases with \(\ell\). In other words, for larger scales we allow larger nets and continue refining further before stopping. This yields a more accurate representative edge for each high-level pair. While this increases the work spent on an individual pair, the definition of \(\ell^*\) implies that the number of net points—and hence also the number of relevant pairs—decreases geometrically with the level. Therefore, the total running time over all high levels remains near-linear. At the same time, the resulting approximation error can still be summed over all high-level pairs and charged to the optimum MST.
We now describe the algorithm formally. Let \(\gamma := \epsilon^{-1} \log(1/\epsilon)\). For each high level \(\ell > \ell^* + 10 \log(1/\epsilon)\), define \(\tau_\ell := 1.1^{\ell - \ell^*}\). Thus, \(\gamma\) is the threshold used at middle levels, while \(\tau_\ell\) is a level-dependent threshold used at high levels that grows geometrically with \(\ell\). Our algorithm is described in 1.
Line [line:WSPC] can be viewed as computing a WSPC for \(X\). Technically, we do not need to compute the WSPC explicitly, but only construct a collection \(\Psi\) of their “centers”. From Line [line:U95V95starts] to Line [line:U95V95ends], we handle each pair \((u, v) \in \Psi\) differently depending on which level it lies in. Call \((u, v) \in \Psi\) a low-level pair if their levels satisfy \(\max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} < \ell^* - 10 \log(1/\epsilon)\), a middle-level pair if \(\max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} \in [\ell^* - 10 \log(1/\epsilon), \ell^* + 10 \log(1/\epsilon)]\), and a high-level pair otherwise. If \((u, v)\) is a low-level pair, we add to \(G\) the edge \((u, v)\), which connects the “centers” of the corresponding WSPC pair. (Line [line:low95level]). If \((u, v)\) is a middle-level pair, we choose the largest integer \(0 \le k \le \lceil \log(1/\epsilon) \rceil\) such that both \(u\) and \(v\) have at most \(\gamma\) descendants at \(k\) levels below, i.e., \(|D_{\mathop{\mathrm{lev}}(u) - k}(u)|, |D_{\mathop{\mathrm{lev}}(v) - k}(v)| \le \gamma\) (Line [line:middle95level]), and add the closest pair in \(D_{\mathop{\mathrm{lev}}(u) - k}(u) \times D_{\mathop{\mathrm{lev}}(v) - k}(v)\) to \(G\) (Line [line:edge95middle95lev]). If \((u, v)\) is a high-level pair, we repeat the same procedure, except with a carefully chosen threshold \(\tau_\ell = 1.1^{\ell - \ell^*}\) that increases with the level (Line [line:high95level]). Hence, at higher levels we may refine further before stopping, which increases the work per pair but also yields a more accurate representative edge. The analysis will show that this is affordable because the number of high-level pairs decreases rapidly with \(\ell\).
In this section, we show that 1 returns a \((1 + O_{\mathop{\mathrm{\operatorname{ddim}}}}(\epsilon))\)-approximate MST of \(X\). Our main result is the following:
Lemma 2. 1 returns a \((1 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon)\)-approximate MST.
Let \(T^*\) denote the MST of \(X\). For a subset \(P \subseteq X\), we slightly abuse notation and write \[P \cap T^* := \{e \in T^* : e \text{ has at least one endpoint in } P\}.\] For every subset \(E \subseteq T^*\) of edges, denote the edge weight of \(E\) as \(w(E) := \sum_{e \in E} w(e)\), where \(w(e) = \mathop{\mathrm{\mathbf{d}}}(x, y)\) for \(e = (x, y)\). We will repeatedly use the following lower bound for the local MST weight. The lemma was proven by [15] for Euclidean spaces, and we extend it to doubling metrics.
Lemma 3. Let \(T^*\) be the MST of \(X\). Let \(A \subseteq X\) be an arbitrary subset and \(N \subseteq A\) be \(\rho\)-packing for \(A\). If \(|N| \geq 2\), then \(w\Big(B(A, \mathop{\mathrm{\operatorname{diam}}}(A)) \cap T^*\Big) \geq \frac{\rho |N|}{2}\).
Proof. Denote \(N = \{x_1, x_2, \dots, x_s\}\) for \(s \geq 2\). Since \(T^*\) is a tree, there is a traversal of \(T^*\) that traverses every edge of \(T^*\) twice and every point in \(X\) at least once. Without loss of generality, assume this traversal goes through \(N\) in the order \(x_1, x_2, \dots, x_s\), and denote the path between \(x_i\) and \(x_{i + 1}\) by \(P(x_i, x_{i + 1}) \subseteq T^*\). Then \[\sum_{i = 1}^s w(P(x_i, x_{i + 1})) = 2w(T^*) = 2\mathop{\mathrm{MST}}(X).\] Fix \(i \in [s]\), and consider the following two cases for \(P(x_i, x_{i + 1})\).
If every edge in \(P(x_i, x_{i + 1})\) has at least one endpoint in \(B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\), then by definition we have \(P(x_i, x_{i + 1}) = P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\). By the triangle inequality, \[w\Big(P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\Big) = w(P(x_i, x_{i + 1})) \geq \mathop{\mathrm{\mathbf{d}}}(x_i, x_{i + 1}).\]
If there exists an edge in \(P(x_i, x_{i + 1})\) for which neither endpoint lies in \(B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\), let \((p, q)\) be the first such edge. Namely, there exist edges \((x_i, p_1), (p_1, p_2), \dots, (p_{k-1}, p_k), (p_k, p) \in P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\), but \((p, q) \notin P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\). Then \[\begin{align} &\qquad w\Big(P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\Big) \\ &\geq \mathop{\mathrm{\mathbf{d}}}(x_i, p_1) + \sum_{j = 1}^{k - 1} \mathop{\mathrm{\mathbf{d}}}(p_j, p_{j + 1}) + \mathop{\mathrm{\mathbf{d}}}(p_k, p) \\ &\geq \mathop{\mathrm{\mathbf{d}}}(x_i, p) &&\text{by triangle inequality}\\ &\geq \mathop{\mathrm{\operatorname{diam}}}(A) &&\text{since } x_i \in A \text{ and } p \notin B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\\ &\geq \mathop{\mathrm{\mathbf{d}}}(x_i, x_{i + 1}) &&\text{since } x_i, x_{i + 1} \in A. \end{align}\]
In conclusion, for every \(i \in [s]\) we have \(w\Big(P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\Big) \geq \mathop{\mathrm{\mathbf{d}}}(x_i, x_{i + 1})\). Hence, \[\begin{align} 2 w\Big(B(A, \mathop{\mathrm{\operatorname{diam}}}(A)) \cap T^*\Big) = \sum_{i = 1}^s w\Big(P(x_i, x_{i + 1}) \cap B(A, \mathop{\mathrm{\operatorname{diam}}}(A))\Big) \geq \sum_{i = 1}^s \mathop{\mathrm{\mathbf{d}}}(x_i, x_{i + 1}) \geq s \cdot \rho, \end{align}\] where the last inequality holds since \(N\) is \(\rho\)-packing for \(A\). Rearranging concludes the proof. ◻
We are now ready to prove 2.
Proof of 2. Let \(\Psi\) be the collection of pairs of net points constructed in Line [line:WSPC]. Denote \(\Phi := \{(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) \colon (u, v) \in \Psi\}\). Then \(\Phi\) is a \(32\)-WSPC of \(X\) by [lemma:WSPC95doubling]. For each pair \((u, v) \in \Psi\), Assume \((p, q)\) is the edge that 1 adds to \(G\) in Line [line:U95V95ends]. Ideally, \(\mathop{\mathrm{\mathbf{d}}}(p, q)\) is a \((1 + \epsilon)\)-approximation of the distance between \(B(u, 2^{\mathop{\mathrm{lev}}(u)})\) and \(B(v, 2^{\mathop{\mathrm{lev}}(v)})\); otherwise, we consider bounding the difference between \(\mathop{\mathrm{\mathbf{d}}}(p, q)\) and \(\mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)}))\). This motivates us to define the error incurred by the pair \((u, v)\) as \[\begin{align} \mathrm{err}(u, v) := \max\left\{0, \mathop{\mathrm{\mathbf{d}}}(p, q) - (1 + \epsilon) \mathop{\mathrm{\mathbf{d}}}\left(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})\right)\right\}. \end{align}\] Our goal is to show that \[\label{eqn:err95bound95goal} \sum_{(u, v) \in \Psi} \mathrm{err}(u, v) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \cdot \mathop{\mathrm{MST}}(X).\tag{3}\]
Let us first assume that 3 holds, and see how it implies 2. For the \(i\)-th edge \(e_i^*\) of \(T^*\), let \((u_i, v_i) \in \Psi\) be an arbitrary pair such that \(e_i^* \in B(u_i, 2^{\mathop{\mathrm{lev}}(u_i)}) \times B(v_i, 2^{\mathop{\mathrm{lev}}(v_i)})\), and assume 1 adds \((p_i, q_i)\) to \(G\) in Line [line:U95V95ends] for \((u_i, v_i)\).
We first show that \(\{(p_i, q_i)\}_{i = 1}^{n - 1}\) is a spanning tree of \(G\). We cannot directly apply [lemma:WSPC95MST] [it:WSPC95spanning] to \(\{(p_i, q_i)\}_{i = 1}^{n - 1}\) and \(\Phi\), as \((p_i, q_i)\) is not necessarily contained in \(B(u_i, 2^{\mathop{\mathrm{lev}}(u_i)}) \times B(v_i, 2^{\mathop{\mathrm{lev}}(v_i)})\). The idea is to enlarge the radius of each pair \((B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) \in \Phi\) by a constant factor, so that \((p_i, q_i)\) is contained in the expanded pair, and all expanded pairs still form an \(\Omega(1)\)-WSPC. Specifically, for each pair \((u, v) \in \Psi\), define the expanded pairs \(\Phi'\) as follows: If \(\mathop{\mathrm{lev}}(u) = \mathop{\mathrm{lev}}(v) = 0\), then add \((\{u\}, \{v\})\) to \(\Phi'\); otherwise, add the pair \((B(u, 2^{\mathop{\mathrm{lev}}(u) + 2}), B(v, 2^{\mathop{\mathrm{lev}}(v) + 2}))\) to \(\Phi'\). We claim that \(\Phi'\) is a \(7\)-WSPC of \(X\). Indeed, for each pair of points \((x, y) \in \binom{X}{2}\), assume \((x, y) \in B(u, 2^{\mathop{\mathrm{lev}}(u)}) \times B(v, 2^{\mathop{\mathrm{lev}}(v)})\) for some \((u, v) \in \Psi\). Then \((x, y) \in B(u, 2^{\mathop{\mathrm{lev}}(u) + 2}) \times B(v, 2^{\mathop{\mathrm{lev}}(v) + 2})\). Hence, 5 [it:WSPC95covering] is satisfied. Regarding 5 [it:WSPC95separation], for each \((u, v) \in \Psi\) where \(u, v\) are not both at level-\(0\), by [lemma:WSPC95doubling] [it:separation] we have \(\mathop{\mathrm{\mathbf{d}}}(u, v) > 66 \max\{2^{\mathop{\mathrm{lev}}(u)}, 2^{\mathop{\mathrm{lev}}(v)}\}\). Thus, \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u) + 2}), B(v, 2^{\mathop{\mathrm{lev}}(v) + 2})) \geq \mathop{\mathrm{\mathbf{d}}}(u, v) - 2^{\mathop{\mathrm{lev}}(u) + 2} - 2^{\mathop{\mathrm{lev}}(v) + 2} > 7 \max\{2^{\mathop{\mathrm{lev}}(u) + 3}, 2^{\mathop{\mathrm{lev}}(v) + 3}\}, \end{align}\] indicating each \((B(u, 2^{\mathop{\mathrm{lev}}(u) + 2}), B(v, 2^{\mathop{\mathrm{lev}}(v) + 2})) \in \Phi'\) is \(7\)-separated. Therefore, \(\Phi'\) is a \(7\)-WSPC of \(X\). By the construction of \((p_i, q_i)\) in Lines [line:low95level], [line:edge95middle95lev] and [line:edge95high95lev] and [lemma:descendants95packing95covering] [it:desc95packing], we have \((p_i, q_i) \in B(u, 2^{\mathop{\mathrm{lev}}(u) + 2}) \times B(v, 2^{\mathop{\mathrm{lev}}(v) + 2})\). Applying [lemma:WSPC95MST] [it:WSPC95spanning] to \(\{(p_i, q_i)\}_{i = 1}^{n - 1}\) and \(\Phi'\), we conclude that \(\{(p_i, q_i)\}_{i = 1}^{n - 1}\) is a spanning tree of \(G\). Therefore, \[\begin{align} \mathop{\mathrm{MST}}(G) &\leq \sum_{i = 1}^{n - 1} \mathop{\mathrm{\mathbf{d}}}(p_i, q_i) \leq \sum_{i = 1}^{n - 1} \Big((1 + \epsilon) \mathop{\mathrm{\mathbf{d}}}(B(u_i, 2^{\mathop{\mathrm{lev}}(u_i)}), B(v_i, 2^{\mathop{\mathrm{lev}}(v_i)})) + \mathrm{err}(u_i, v_i) \Big) \\ &\leq \sum_{i = 1}^{n - 1} (1 + \epsilon) w(e_i^*) + \sum_{(u, v) \in \Psi} \mathrm{err}(u, v) \leq (1 + \epsilon) \mathop{\mathrm{MST}}(X) + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \cdot \mathop{\mathrm{MST}}(X) \\ &= (1 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon) \mathop{\mathrm{MST}}(X), \end{align}\] proving 2.
In our following analysis we focus on the proof of 3 . In particular, we upper bound the error for each of the three different types of levels. Recall that \((u, v) \in \Psi\) is called a low-level (resp. middle-level, high-level) pair if \(\max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} < \ell^* - 10 \log(1/\epsilon)\) (resp. \(\in [\ell^* - 10 \log(1/\epsilon), \ell^* + 10 \log(1/\epsilon)]\), \(> \ell^* + 10 \log(1/\epsilon)\)).
Assume \((u, v) \in \Psi\) is a low-level pair, and wlog that \(\mathop{\mathrm{lev}}(u) = \max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} = \ell < \ell^* - 10 \log(1/\epsilon)\). We trivially bound the error of \((u, v)\) by \(\mathrm{err}(u, v) \leq 2^{\mathop{\mathrm{lev}}(u)} + 2^{\mathop{\mathrm{lev}}(v)} \leq 2^{\ell + 1}.\) Thus the total error of low level clusters can be bounded by \[\begin{align} \mathrm{Err}_{\mathrm{low}} &\leq \sum_{\ell < \ell^* - 10 \log(1/\epsilon)} \sum_{u \in N_\ell} 2^{\ell + 1} \cdot |\{v \colon (u, v) \in \Psi\}| \notag \mathrel{\overset{\textrm{\tiny(I1)}}{\leq}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{\ell < \ell^* - 10 \log(1/\epsilon)} 2^\ell |N_\ell| \notag\\ &= 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{\ell < \ell^* - 10 \log(1/\epsilon)} 2^{\ell / 2} \cdot 2^{\ell/2} |N_\ell| \notag \mathrel{\overset{\textrm{\tiny(I2)}}{\leq}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{\ell < \ell^* - 10 \log(1/\epsilon)} 2^{\ell / 2} \cdot 2^{\ell^*/2} |N_{\ell^*}| \notag\\ &\mathrel{\overset{\textrm{\tiny(I3)}}{\leq}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon^5 2^{\ell^*} |N_{\ell^*}| \notag \mathrel{\overset{\textrm{\tiny(I4)}}{\leq}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon^5 \mathop{\mathrm{MST}}(X). \label{eqn:Err95low} \end{align}\tag{4}\] In (I1), we use [it:bounded95deg] of [lemma:WSPC95doubling] to get \(|\{v \colon (u, v) \in \Psi\}| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). In (I2) we use the definition of \(\ell^*\) in 2 . In (I3), we use that \[\sum_{\ell < \ell^* - 10 \log(1/\epsilon)} 2^{\ell/2} = O\!\left(2^{(\ell^* - 10 \log(1/\epsilon))/2}\right) = O\!\left(\epsilon^5 2^{\ell^*/2}\right),\] because the sum is geometric. (I4) follows from 3 by setting \(A = X\) and \(N = N_{\ell^*}\).
Assume \((u, v) \in \Psi\) is a middle-level pair. Assume wlog that \(\mathop{\mathrm{lev}}(u) = \max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} = \ell\), where \(\ell^* - 10 \log(1/\epsilon) \leq \ell \leq \ell^* + 10 \log(1/\epsilon)\). Recall that \(p \in D_{\mathop{\mathrm{lev}}(u) - k}(u)\) and \(q \in D_{\mathop{\mathrm{lev}}(v) - k}(v)\), where the set of descendants \(D_{\mathop{\mathrm{lev}}(u) - k}(u)\) and \(D_{\mathop{\mathrm{lev}}(v) - k}(v)\) are either dense enough (i.e., \(k = \log(1/\epsilon)\)) or large enough (i.e., \(\max\{|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)|, |D_{\mathop{\mathrm{lev}}(v) - k - 1}(v)|\} \geq \gamma\) for some \(k < \log(1/\epsilon)\)).
If \(k = \lceil \log(1/\epsilon) \rceil\), then by [lemma:descendants95packing95covering] [it:desc95covering], every point of \(B(u, 2^{\mathop{\mathrm{lev}}(u)})\) and \(B(v, 2^{\mathop{\mathrm{lev}}(v)})\) is within distance \((\epsilon / 4) 2^{\mathop{\mathrm{lev}}(u)}\) and \((\epsilon / 4) 2^{\mathop{\mathrm{lev}}(v)}\) from a net point in \(D_{\mathop{\mathrm{lev}}(u) - k}(u)\) and \(D_{\mathop{\mathrm{lev}}(v) - k}(v)\), respectively. Let \((x^*, y^*) := \mathop{\mathrm{argmin}}_{x \in B(u, 2^{\mathop{\mathrm{lev}}(u)}), y \in B(v, 2^{\mathop{\mathrm{lev}}(v)})} \mathop{\mathrm{\mathbf{d}}}(x, y),\) i.e., \(\mathop{\mathrm{\mathbf{d}}}(x^*, y^*)\) realizes \(\mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)}))\). Let \(p^* \in D_{\mathop{\mathrm{lev}}(u) - k}(u)\) such that \(\mathop{\mathrm{\mathbf{d}}}(x^*, p^*) \leq (\epsilon/4) 2^{\mathop{\mathrm{lev}}(u)}\) and \(q^* \in D_{\mathop{\mathrm{lev}}(v) - k}(v)\) such that \(\mathop{\mathrm{\mathbf{d}}}(y^*, q^*) \leq (\epsilon/4) 2^{\mathop{\mathrm{lev}}(v)}\). Then \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(p, q) &\leq \mathop{\mathrm{\mathbf{d}}}(p^*, q^*) && \text{by definition of } p, q \text{ in Line \ref{line:edge95middle95lev}}\\ &\leq \mathop{\mathrm{\mathbf{d}}}(x^*, y^*) + \mathop{\mathrm{\mathbf{d}}}(x^*, p^*) + \mathop{\mathrm{\mathbf{d}}}(y^*, q^*) && \text{by triangle inequality}\\ &\leq \mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) + (\epsilon/4) 2^{\mathop{\mathrm{lev}}(u)} + (\epsilon/4) 2^{\mathop{\mathrm{lev}}(v)} \\ &\leq (1 + \epsilon) \mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) && \text{since } \Phi \text{ is } 32\text{-WSPC}. \end{align}\] Therefore, by definition \(\mathrm{err}(u, v) = 0.\)
We now focus on the case that \(\max\{|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)|, |D_{\mathop{\mathrm{lev}}(v) - k - 1}(v)|\} > \gamma\): Similar calculation gives \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(p, q) &\leq \mathop{\mathrm{\mathbf{d}}}(p^*, q^*) && \text{by definition of } p, q \text{ in Line \ref{line:edge95middle95lev}}\\ &\leq \mathop{\mathrm{\mathbf{d}}}(x^*, y^*) + \mathop{\mathrm{\mathbf{d}}}(x^*, p^*) + \mathop{\mathrm{\mathbf{d}}}(y^*, q^*) && \text{by triangle inequality}\\ &\leq \mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) + 2^{\mathop{\mathrm{lev}}(u) - k - 2} + 2^{\mathop{\mathrm{lev}}(v) - k - 2} \end{align}\] Therefore, \[\label{eqn:err95UV95bound} \mathrm{err}(u, v) \leq 2^{\mathop{\mathrm{lev}}(u) - k - 2} + 2^{\mathop{\mathrm{lev}}(v) - k - 2} \leq 2^{\mathop{\mathrm{lev}}(u) - k - 1} \leq 2^{\mathop{\mathrm{lev}}(v) - k},\tag{5}\] where the last inequality follows from [it:bounded95lev95diff] of [lemma:WSPC95doubling].
If \(|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)| > \gamma\), then since \(D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)\) is \(2^{\mathop{\mathrm{lev}}(u) - k - 4}\)-packing for \(B(u, 2^{\mathop{\mathrm{lev}}(u) + 2})\) ([lemma:descendants95packing95covering] [it:desc95packing]), by 3 (applied to \(A = B(u, 2^{\mathop{\mathrm{lev}}(u) + 2})\) and \(N = D_{\mathop{\mathrm{lev}}(u) - k - 1}\)) we obtain \[2^{\mathop{\mathrm{lev}}(u) - k - 4} \leq \frac{2\, w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*)}{|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)|} \leq \frac{2}{\gamma} w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*).\] If \(|D_{\mathop{\mathrm{lev}}(v) - k - 1}(v)| > \gamma\), analogously we have \[2^{\mathop{\mathrm{lev}}(v) - k - 4} \leq \frac{2}{\gamma} w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*).\] We therefore conclude that \[\mathrm{err}(u, v) \leq 2^{\mathop{\mathrm{lev}}(v) - k} \leq \frac{32}{\gamma} \Big( w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*) + w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*) \Big).\]
Thus, the total error incurred by all middle level pairs is bounded by \[\begin{align} \mathrm{Err}_{\mathrm{mid}} &\leq \sum_{\substack{(u, v) \in \Psi \text{ is a} \\ \text{middle-level pair}}} \frac{32}{\gamma} \Big( w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*) + w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*) \Big). \notag \\ &\leq \sum_{\ell = \ell^* - 10 \log(1/\epsilon) - 1}^{\ell^* + 10 \log(1/\epsilon)} \sum_{u \in N_\ell} \frac{32}{\gamma} w(B(u, 2^{\ell + 4}) \cap T^*) \cdot |\{v \colon (u, v) \in \Psi\}| \notag \\ &\leq \frac{2^{O(\mathop{\mathrm{\operatorname{ddim}}})}}{\gamma} \sum_{\ell = \ell^* - 10 \log(1/\epsilon) - 1}^{\ell^* + 10 \log(1/\epsilon)} \sum_{u \in N_\ell} \sum_{e \in B(u, 2^{\ell + 4}) \cap T^*} w(e) \tag{6}\\ &= \frac{2^{O(\mathop{\mathrm{\operatorname{ddim}}})}}{\gamma} \sum_{e \in T^*} w(e) \sum_{\ell = \ell^* - 10 \log(1/\epsilon) - 1}^{\ell^* + 10 \log(1/\epsilon)} |\{u \in N_\ell \colon e \in B(u, 2^{\ell + 4})\}| \notag\\ &\leq \frac{2^{O(\mathop{\mathrm{\operatorname{ddim}}})}}{\gamma} 20 \log(1/\epsilon) \sum_{e \in T^*} w(e) \tag{7}\\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon\cdot \mathop{\mathrm{MST}}(X). \notag \end{align}\] In 6 , we use \(|\{v \colon (u, v) \in \Psi\}| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) by [it:bounded95deg] of [lemma:WSPC95doubling]. In 7 , we use that for every edge \(e\) and every level \(\ell\), \(|\{u \in N_\ell \colon e \in B(u, 2^{\ell + 4})\}| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). We explain the reason below: Denote \(e = (x, y)\); if \(u \in N_\ell\) satisfies \(e \in B(u, 2^{\ell + 4})\), then either \(\mathop{\mathrm{\mathbf{d}}}(u, x) \leq 2^{\ell + 4}\) or \(\mathop{\mathrm{\mathbf{d}}}(u, y) \leq 2^{\ell + 4}\). Equivalently, \(u \in N_\ell \cap (B(x, 2^{\ell + 4}) \cup B(y, 2^{\ell + 4}))\), so by 1 the number of such \(u\) is bounded by \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). The last inequality follows from our choice \(\gamma = \epsilon^{-1} \log(1/\epsilon)\).
Assume \((u, v) \in \Psi\) is a high-level pair. Assume wlog that \(\mathop{\mathrm{lev}}(u) = \max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} = \ell\), where \(\ell > \ell^* + 10 \log(1/\epsilon)\). Analogous to the middle levels, we focus on the case that \(\max\{|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)|, |D_{\mathop{\mathrm{lev}}(v) - k - 1}(v)|\} > \tau_\ell\) (as \(\mathrm{err}(u, v) = 0\) in the other case). By 5 , \(\mathrm{err}(u, v) \leq 2^{\mathop{\mathrm{lev}}(v) - k}\).
If \(|D_{\mathop{\mathrm{lev}}(u) - k - 1}(u)| > \tau_\ell\), then by [lemma:descendants_packing_covering,lemma:net_size_MST] we have \[2^{\mathop{\mathrm{lev}}(u) - k - 4} \leq \frac{2}{\tau_\ell} w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*).\] Similarly, if \(|D_{\mathop{\mathrm{lev}}(v) - k - 1}(v)| > \tau_\ell\), then \[2^{\mathop{\mathrm{lev}}(v) - k - 4} \leq \frac{2}{\tau_\ell} w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*) \leq \frac{2}{\tau_{\mathop{\mathrm{lev}}(v)}} w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*).\] In conclusion, \[\begin{align} \mathrm{err}(u, v) \leq \frac{32}{\tau_{\mathop{\mathrm{lev}}(u)}} w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*) + \frac{32}{\tau_{\mathop{\mathrm{lev}}(v)}} w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*) \end{align}\]
Therefore, the total error incurred by high levels can be bounded by \[\begin{align} \mathrm{Err}_{\mathrm{high}} &\leq \sum_{\substack{(u, v) \in \Psi \text{ is a} \\ \text{high-level pair}}} \left( \frac{32}{\tau_{\mathop{\mathrm{lev}}(u)}} w(B(u, 2^{\mathop{\mathrm{lev}}(u) + 4}) \cap T^*) + \frac{32}{\tau_{\mathop{\mathrm{lev}}(v)}} w(B(v, 2^{\mathop{\mathrm{lev}}(v) + 4}) \cap T^*) \right)\\ &\leq \sum_{\ell \geq \ell^* + 10 \log(1/\epsilon)} \sum_{u \in N_\ell} \frac{32}{\tau_\ell} w(B(u, 2^{\ell + 4}) \cap T^*) \cdot |\{v \colon (u, v) \in \Psi\}| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{\ell \geq \ell^* + 10 \log(1/\epsilon)} \frac{1}{\tau_\ell} \sum_{u \in N_\ell} \sum_{e \in B(u, 2^{\ell + 4}) \cap T^*} w(e) \\ &= 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{e \in T^*} w(e) \sum_{\ell \geq \ell^* + 10 \log(1/\epsilon)} \frac{1}{\tau_\ell} |\{u \in N_\ell \colon e \in B(u, 2^{\ell + 4})\}| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{e \in T^*} w(e) \sum_{\ell \geq \ell^* + 10 \log(1/\epsilon)} \frac{1}{\tau_\ell} \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \sum_{e \in T^*} w(e) \sum_{j = 10 \log(1/\epsilon)}^\infty 1.1^{-j} \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \cdot \mathop{\mathrm{MST}}(X). \end{align}\] For the last inequality, we use that \[\sum_{j = 10 \log(1/\epsilon)}^\infty 1.1^{-j} = O\!\left(1.1^{-10 \log(1/\epsilon)}\right) \leq O(\epsilon).\]
The total error is bounded by \[\begin{align} \mathrm{Err}_{\mathrm{low}} + \mathrm{Err}_{\mathrm{mid}} + \mathrm{Err}_{\mathrm{high}} \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \mathop{\mathrm{MST}}(X), \end{align}\] concluding the proof of 3 . ◻
Lemma 4. 1 runs in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} \log^4(1/\epsilon))\).
Proof. By [lemma:net95hierarchy95construction], \(\mathcal{N}\) can be constructed in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) time in Line [line:net95hierarchy]. Finding the level \(\ell^*\) takes \(O(n \log(n/\epsilon))\) time in Line [line:critical95level]. In Line [line:WSPC], \(\Psi\) can be constructed in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) time by [lemma:WSPC95doubling]. Hence, the preprocessing stage (Lines [line:net95hierarchy]-[line:G95initial]) takes \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) time. Below we focus on the time complexity of constructing \(G\) (Lines [line:U95V95starts]-[line:U95V95ends]). We bound the time complexity of the three types of levels respectively.
For every low-level pair \((u, v)\), processing \((u, v)\) takes \(O(1)\) time. Therefore, the total time complexity of low levels is \(O(|\Psi|) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n / \epsilon)\).
Let \((u, v) \in \Psi\) be a middle-level pair. To find \(k\) in Line [line:middle95level], the algorithm maintains \(D_{\mathop{\mathrm{lev}}(u) - j}(u)\) for each \(1 \leq j \leq \log(1/\epsilon)\) — given \(D_{\mathop{\mathrm{lev}}(u) - j + 1}(u)\), construct \(D_{\mathop{\mathrm{lev}}(u) - j}(u) := \bigcup_{x \in D_{\mathop{\mathrm{lev}}(u) - j + 1}(u)} C(x)\), until \(|D_{\mathop{\mathrm{lev}}(u) - j}(u)| > \gamma\). By [lemma:num95children95parent], \(|C(x)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), and the net hierarchy data structure stores pointers from \(x\) to all its children. Hence, each \(D_{\mathop{\mathrm{lev}}(u) - j}(u)\) can be constructed in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \log \gamma\) time, so the time complexity of finding \(k\) (Line [line:middle95level]) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \log \gamma \log(1/\epsilon)\).
The time complexity of finding \((p, q) \in D_{\mathop{\mathrm{lev}}(u) - k}(u) \times D_{\mathop{\mathrm{lev}}(v) - k}(v)\) in Line [line:edge95middle95lev] is \(|D_{\mathop{\mathrm{lev}}(u) - k}(u)| \cdot |D_{\mathop{\mathrm{lev}}(v) - k}(v)| \leq \gamma \cdot |B(u, 2^{\mathop{\mathrm{lev}}(u) + 2})|\). Therefore, the total time complexity of middle levels is \[\begin{align} &\quad \sum_{\ell = \ell^* - 10 \log(1/\epsilon)}^{\ell^* + 10 \log(1/\epsilon)} \sum_{u \in N_\ell} \Big( 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \log \gamma \log(1/\epsilon) + \gamma \cdot |B(u, 2^{\mathop{\mathrm{lev}}(u) + 2})| \Big) \cdot |\{v \colon (u, v) \in \Psi\}| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \log \gamma \log(1/\epsilon) \sum_{\ell = \ell^* - 10 \log(1/\epsilon)}^{\ell^* + 10 \log(1/\epsilon)} |N_\ell| + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \sum_{\ell = \ell^* - 10 \log(1/\epsilon)}^{\ell^* + 10 \log(1/\epsilon)} \sum_{u \in N_\ell} |B(u, 2^{\ell + 2})| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \gamma \log \gamma \cdot 20 \log^2(1/\epsilon) + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma \sum_{\ell = \ell^* - 10 \log(1/\epsilon)}^{\ell^* + 10 \log(1/\epsilon)} \sum_{x \in X} |\{u \in N_\ell \colon \mathop{\mathrm{\mathbf{d}}}(x, u) \leq 2^{\ell + 2}\}|\\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \gamma \log \gamma \cdot 20 \log^2(1/\epsilon) + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \gamma n \cdot 20 \log(1/\epsilon) \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \epsilon^{-1} \log^4(1/\epsilon). \end{align}\] The last inequality follows from our choice of \(\gamma = \epsilon^{-1} \log(1/\epsilon)\).
Let \((u, v)\) be a high-level pair, and assume that \(\mathop{\mathrm{lev}}(u) = \max\{\mathop{\mathrm{lev}}(u), \mathop{\mathrm{lev}}(v)\} = \ell\), where \(\ell > \ell^* + 10 \log(1/\epsilon)\). Analogous to the middle levels, the time complexity of finding \(k\) in Line [line:high95level] is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \tau_\ell \log \tau_\ell \log(1/\epsilon)\), and the time complexity of computing \((p, q) \in D_{\mathop{\mathrm{lev}}(u) - k}(u) \times D_{\mathop{\mathrm{lev}}(v) - k}(v)\) in Line [line:edge95high95lev] is \(|D_{\mathop{\mathrm{lev}}(u) - k}(u)| \cdot |D_{\mathop{\mathrm{lev}}(v) - k}(v)| \leq \tau_\ell^2\). Hence, the time complexity of high levels is \[\begin{align} &\quad \sum_{\ell > \ell^* + 10\log(1/\epsilon)} \sum_{u \in N_\ell} \Big( 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \tau_\ell \log \tau_\ell \log(1/\epsilon) + \tau_\ell^2 \Big) \cdot |\{v \colon (u, v) \in \Psi\}| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon) \sum_{\ell > \ell^* + 10\log(1/\epsilon)} \tau_\ell^2 \cdot |N_\ell| \\ &= 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon) \sum_{\ell > \ell^* + 10\log(1/\epsilon)} \frac{\tau_\ell^2}{2^{\ell/2}} \cdot 2^{\ell/2} |N_\ell| \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon) \sum_{\ell > \ell^* + 10 \log(1/\epsilon)} \frac{\tau_\ell^2}{2^{\ell/2}} \cdot 2^{\ell^*/2} |N_{\ell^*}| &&\text{by the definition of }\ell^* \\ &= 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon) |N_{\ell^*}| \sum_{\ell > \ell^* + 10 \log(1/\epsilon)} \left(\frac{1.21}{\sqrt{2}}\right)^{\ell - \ell^*} &&\text{by the choice of } \tau_\ell \\ &\leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(1/\epsilon). \end{align}\]
Combining the three cases above, the total complexity of constructing the graph \(G\) (Lines [line:U95V95starts]-[line:U95V95ends]) is bounded by \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} \log^4(1/\epsilon))\).
Finally, note that \(G\) has \(n\) vertices and \(m = |\Psi| = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) edges. The MST of \(G\) can be computed in time \(O(m + n \log n) = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\), using Prim’s algorithms implemented with a Fibonacci Heap [19].
In conclusion the total time complexity of 1 is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} \log^4(1/\epsilon))\). ◻
Proof of [thm:MST95alg95improved]. One can first compute an \(O(1)\)-approximation of the doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}= \mathop{\mathrm{\operatorname{ddim}}}(X)\) in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) using [lemma:ddim95apx]. Then run 1 with parameter \(\epsilon' = \epsilon/2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). By 2, the algorithm returns a \((1 + \epsilon)\)-approximate MST. By 4, the time complexity is \[\begin{align} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log^4(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}/\epsilon)) = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n (\log n + \epsilon^{-1} \log^4(1/\epsilon)). \end{align}\] ◻
In this paper, we gave a deterministic algorithm for computing a \((1+\epsilon)\)-approximation to the minimum spanning tree of an \(n\)-point metric space of doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\) in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \bigl(\log n + \epsilon^{-1}\log^4(1/\epsilon)\bigr).\) For bounded doubling dimension, this improves the previous \(\epsilon^{-O(\mathop{\mathrm{\operatorname{ddim}}})}\) dependence to essentially linear in \(\epsilon^{-1}\). As a special case, it also improves the previous best deterministic running time in bounded-dimensional Euclidean spaces by a factor of \(1/\epsilon\). Our algorithm is based on a multiscale approximation strategy for well-separated pairs: at small scales a crude approximation suffices, while at larger scales we use increasingly refined net-based searches and charge the resulting error to the optimum MST.
There are several natural directions for future work. The most immediate question is whether the \(\log n\) term in our running time can be removed. In the current algorithm, this term arises essentially from the size of the well-separated pair structure and from the treatment of low levels, so any further progress would likely require a more economical covering structure or a different way of handling very small scales. It would already be very interesting to resolve this question even in bounded-dimensional Euclidean spaces.
A second direction is to understand the precise assumptions under which our approach applies. Our analysis is phrased for metrics of bounded doubling dimension, but it is natural to ask whether the same ideas extend to weaker notions of low-dimensionality or bounded growth. More broadly, it would be interesting to determine which structural properties of the metric are actually needed for the multiscale charging argument to go through.
propositionlemmaxdegree Let \((X, \mathop{\mathrm{\mathbf{d}}})\) be a metric space of doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\). Let \(T\) be an arbitrary minimum spanning tree of \(X\). Then for every vertex \(p \in X\), \[\deg_T(p) \le 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \cdot \log \Delta \;.\]
Proof. Fix a vertex \(p\) and let its neighbors in \(T\) be \(q_1,\dots,q_k\), ordered so that \[r_i := \mathop{\mathrm{\mathbf{d}}}(p,q_i), \qquad r_1 \le r_2 \le \dots \le r_k.\]
We claim the following separation property: For every \(i<j\), \[\mathop{\mathrm{\mathbf{d}}}(q_i,q_j) \ge r_j.\] Indeed, if \(\mathop{\mathrm{\mathbf{d}}}(q_i,q_j) < r_j\), then replacing the edge \(p q_j\) (of length \(r_j\)) by the edge \(q_i q_j\) would strictly decrease the total weight of the tree, contradicting minimality of the MST.
Next, we partition the neighbors of \(p\) into geometric scales. Fix a constant \(C \ge 2\). For each integer \(t\), define \[S_t := \{\, i : C^t \le r_i < C^{t+1} \,\}.\]
We will bound the size of each \(S_t\). Let \(i<j\) both lie in \(S_t\). Then \(r_j \ge C^t\). By the separation property, \[\mathop{\mathrm{\mathbf{d}}}(q_i,q_j) \ge r_j \ge C^t.\] Moreover, every \(q_i\) with \(i \in S_t\) lies in the ball \(B(p, C^{t+1})\). Thus, the points \(\{q_i : i \in S_t\} \subseteq B(p,C^{t+1})\) form a set that is \(C_t\)-packing and has diameter at most \(2\cdot C^{t+1}\). By Lemma 1 we therefore get that the size of \(S_t\) is bounded by \(|S_t| = |\{q_i : i \in S_t\}| = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\).
Finally, note that we can bound the total number of scales as follows: The smallest radius is \(r_1\) and the largest is \(r_k\). The number of indices \(t\) for which \(S_t\) is nonempty is at most \[O\!\left( \log_C \frac{r_k}{r_1} \right) = O(\log \Delta).\]
Summing over all scales, we obtain \[\deg_T(p) = \sum_t |S_t| \le 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \cdot O(\log \Delta),\] as claimed. ◻
Proof. Fix \(n \in \mathbb{N}\). We construct a point set \(X \subset \mathbb{R}^{2n}\) as follows. Let \(o = (0,\dots,0)\) be the origin. For every \(i \in \{1,\dots,n\}\) define four points \[a_i^+ = 2^i e_{2i-1}, \qquad a_i^- = -2^i e_{2i-1}, \qquad b_i^+ = 2^i e_{2i}, \qquad b_i^- = -2^i e_{2i},\] where \(e_j\) denotes the \(j\)-th standard basis vector. Let \[X = \{o\} \cup \{a_i^+,a_i^-,b_i^+,b_i^- : i=1,\dots,n\}.\] Thus \(|X| = 4n+1\).
First, we claim that the doubling dimension is bounded, i.e., \(\mathop{\mathrm{\operatorname{ddim}}}(X)=O(1)\). Observe that all points in \(\{a_i^\pm,b_i^\pm\}\) have distance \(2^i\) from the origin, so the points occur at exponentially separated scales. Consider the ball \(B(o,2^k)\). It contains the origin and all points \(\{a_i^\pm,b_i^\pm\}\) with \(i \le k\). The four points \(\{a_k^+,a_k^-,b_k^+,b_k^-\}\) lie on the sphere of radius \(2^k\) and have pairwise distance at least \(2^k\sqrt{2}\). Hence any ball of radius \(2^{k-1}\) can contain at most one of them, so at least four such balls are required to cover them. All remaining points lie inside \(B(o,2^{k-1})\) and can therefore be covered by a constant number of balls of radius \(2^{k-1}\). Consequently \(B(o,2^k)\) can be covered by a constant number of balls of radius \(2^{k-1}\). A similar argument applies to balls centered at other points of \(X\), so the doubling constant is bounded by a universal constant. Therefore \(\mathop{\mathrm{\operatorname{ddim}}}(X)=O(1)\).
Next, we show that the degree of the MST is unbounded. For every \(i\) we have \[\mathop{\mathrm{\mathbf{d}}}(o,a_i^\pm) = 2^i, \qquad \mathop{\mathrm{\mathbf{d}}}(o,b_i^\pm) = 2^i.\] Moreover, \[\mathop{\mathrm{\mathbf{d}}}(a_i^+,a_i^-) = 2^{i+1}, \qquad \mathop{\mathrm{\mathbf{d}}}(a_i^\pm,b_i^\pm) = 2^i\sqrt{2},\] and distances between points corresponding to different indices \(i<j\) are at least \(2^j\).
Thus for every point \(p \in X \setminus \{o\}\) the closest point in \(X\) is the origin. By the cut property of minimum spanning trees, the edge \((o,p)\) must belong to every minimum spanning tree. Therefore the minimum spanning tree of \(X\) is the star centered at \(o\).
Since \(|X|-1 = 4n\), the degree of \(o\) in the minimum spanning tree is \(4n\), while all other vertices have degree \(1\). Hence the maximum degree of the minimum spanning tree is \(4n = \Omega(n)\). Since \(n\) was arbitrary while \(\mathop{\mathrm{\operatorname{ddim}}}(X)=O(1)\), the maximum degree of a minimum spanning tree in metrics of bounded doubling dimension is unbounded. ◻
Proof. Let \(T^*\) be the MST of \(X\). By [lemma:MST95degree], the maximum degree of \(T^*\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log \Delta\). Fix a threshold \(\tau = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\). Say a point \(x \in X\) is heavy w.r.t. \(T^*\), if \(\deg_{T^*}(x) \geq \tau\), and light otherwise. Denote by \(H_{T^*} \subseteq X\) the set of heavy points w.r.t. \(T^*\). The overall plan is to start with \(T^*\), and modify the edge connection around each heavy point \(x \in H_{T^*}\) to make it light. The final spanning tree will be the desired \(T\).
We treat \(T^*\) as a rooted tree. Initially, all points in \(H_{T^*}\) is marked as active. At each step, we find the lowest level active (heavy) point, denoted by \(x \in H_{T^*}\). Denote \(\mathop{\mathrm{wdeg}}_{T^*}(x) := \sum_{(x, y) \in E(T^*)} \mathop{\mathrm{\mathbf{d}}}(x, y)\) as the weighted degree of \(x\). For \(1 \leq \ell \leq \log( \mathop{\mathrm{wdeg}}_{T^*}(x))\), denote the level \(\ell\) neighbor of \(x\) by \(N_{T^*}^\ell(x) := \{y \in B(x, 2^\ell) \setminus B(x, 2^{\ell - 1}) \colon (x, y) \in E(T^*)\}\). By [lemma:MST95degree], we have \(|N_{T^*}^\ell(x)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). Let \(p(x)\) be the parent of \(x\) on \(T^*\). We do the following modification to the edges incident to \(x\):
(1) For every \(1\leq \ell \leq \log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))\), remove all edges \(\{(x, y) \colon y \in N_{T^*}^\ell(x) \setminus \{p(x)\}\}\) from the current tree, pick an arbitrary \(c_\ell \in N_{T^*}^\ell(x) \setminus \{p(x)\}\), and add edges \(\{(c_\ell, y) \colon y \in N_{T^*}^\ell(x) \setminus \{p(x)\}\}\). Add a path \((x, c_1, c_2, \dots, c_{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))})\).6
(2) For \(\ell > \log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))\), keep the edges \(\{(x, y) \colon y \in N_{T^*}^\ell(x)\}\) untouched.
(3) Keep the edge \((x, p(x))\) untouched.
(4) Mark \(x\) as inactive.
Roughly speaking, we remove all “low level” edges incident to \(x\), and add an arbitrary star at each level (whose center is guaranteed not to be \(p(x)\)). To make everything connected, we then add a path through the star centers. Crucially, we never touch \(p(x)\) and thus all modifications are made between \(x\) and its children on \(T^*\). This ensures that the degree of \(p(x)\) stays unchanged during the modification around \(x\).
After all heavy points in \(H_T^*\) are marked as inactive, we terminate the procedure and denote the resulting tree by \(T\). Before we show the degree and weight bounds for \(T\), let us first check that \(T\) is indeed a spanning tree of \(X\). This follows immediately as our algorithm maintains connectivity, and does not change the total number of edges.
We now show that the maximum degree of \(T\) is at most \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\). We first state the following observation, which follows directly from our procedure:
Observation 1. For every \(x \in H_{T^*}\), \(\deg_T(x) = \deg_{T^*}(x)\) holds before the step when \(x\) becomes inactive. For every \(x \notin H_{T^*}\), \(\deg_T(x) = \deg_{T^*}(x)\) holds before the step when \(p(x)\) becomes inactive.
We prove \(\deg_T(x) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\) for every \(x \in X\). If \(x \notin H_{T^*}\), then by 1, \(\deg_T(x)\) changes only at the step when \(p(x)\) becomes inactive. By our procedure, \(\deg_T(x)\) increases only if \(x\) is the center of the star at a certain level \(\ell\). In this case, \(x\) is incident to \(|N_{T^*}^\ell(p(x))| - 1\) edges of the star and \(2\) edges of the path. Thus \[\deg_T(x) \leq \deg_{T^*}(x) + (|N_{T^*}^\ell(p(x))| + 1) \leq \tau + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} + 1 = \log (\frac{1}{\epsilon})2^{O(\mathop{\mathrm{\operatorname{ddim}}})}.\] If \(x \in H_{T^*}\), then by 1, \(\deg_T(x)\) changes at the steps when \(x\) or \(p(x)\) becomes inactive. At the step when \(x\) becomes inactive, edges are modified in such a way that \(x\) is only adjacent to (i) all point in \(N_{T^*}^\ell(x)\) for \(\ell > \log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))\), (ii) its parent \(p(x)\) and (iii) the center \(c_1\) of the first level star. Hence for this step, \[\begin{align} \deg_T(x) \leq \sum_{\ell = \log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))}^{\log(\mathop{\mathrm{wdeg}}_{T^*}(x))} |N_{T^*}^\ell(x)| + 2 \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log\frac{1}{\epsilon} + 2. \end{align}\] At the stage when \(p(x)\) becomes inactive, \(\deg_T(x)\) increases by at most \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} + 1\) (if it is selected as a star center \(c_\ell\)). Therefore, the final degree of \(x\) in \(T\) is bounded by \[\begin{align} \deg_T(x) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log\frac{1}{\epsilon} + 2 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} + 1 \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log\frac{1}{\epsilon} + 3. \end{align}\] We thus conclude that the maximum degree of \(T\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \log(1/\epsilon)\).
We next prove that \(T\) is a \((1 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon)\)-approximate MST of \(X\). For this purpose, let us bound the increase of edge weight at each step. Assume the current step marks a point \(x \in H_{T^*}\) as inactive. Recall that the newly added edges are (i) edges in the star \(\{(c_\ell, y) \colon y \in N_{T^*}^\ell(x) \setminus \{p(x)\}\}\) for \(\ell \leq \log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))\) and (ii) edges in the path \((x, c_1, c_2, \dots, c_{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))})\). The total length of the newly added edges is \[\begin{align} &\qquad \sum_{\ell = 1}^{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))} \sum_{y \in N_{T^*}^\ell(x) \setminus \{p(x)\}} \mathop{\mathrm{\mathbf{d}}}(y, c_\ell) + \sum_{\ell = 0}^{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))} \mathop{\mathrm{\mathbf{d}}}(c_\ell, c_{\ell + 1}) \\ & \leq \sum_{\ell = 1}^{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \cdot 2 \cdot 2^\ell + \sum_{\ell = 0}^{\log(\epsilon \mathop{\mathrm{wdeg}}_{T^*}(x))} 2 \cdot 2^{\ell + 1} \\ & \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \mathop{\mathrm{wdeg}}_{T^*}(x). \end{align}\] Summing the increased length up over all steps, we have \[\begin{align} w(T) - w(T^*) \leq \sum_{x \in H_{T^*}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \mathop{\mathrm{wdeg}}_{T^*}(x) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \sum_{x \in X} \mathop{\mathrm{wdeg}}_{T^*}(x) \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon \cdot w(T^*). \end{align}\] Therefore, \(w(T) \leq (1 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon) w(T^*) = (1 + 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \epsilon) \mathop{\mathrm{MST}}(X)\). Rescaling \(\epsilon\) concludes the proof. ◻
Proof. We first show that \(D_k(u) \subseteq B(u, 2^{\ell + 2})\). To this end, we inductively prove that for every \(k < \ell\), \[\begin{align} D_k(u) \subseteq B\left(u, \sum_{j = k + 2}^{\ell + 1} 2^j\right) \subseteq B(u, 2^{\ell + 2}). \label{eqn:descendant95is95subset} \end{align}\tag{8}\] For \(k = \ell - 1\), we have \(D_{\ell - 1}(u) = C(u) \subseteq B(u, 2^{\ell + 1})\) by [def:children,def:descendants]. Now assume 8 holds for \(k < \ell\). For every \(v \in D_{k - 1}(u)\), by 4, there exists \(w \in D_k(u)\), such that \(v\) is a child of \(w\). Hence, \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(v, u) \leq \mathop{\mathrm{\mathbf{d}}}(v, w) + \mathop{\mathrm{\mathbf{d}}}(w, u) \leq 2^{k + 1} + \sum_{j = k + 2}^{\ell - 1} 2^j = \sum_{j = k + 1}^{\ell - 1} 2^j. \end{align}\] Therefore, \(D_{k - 1}(u) \subseteq B(u, \sum_{j = k + 1}^{\ell - 1} 2^j)\), concluding the induction. Finally, since \(N_k\) is \(2^{k - 3}\)-packing (1 and [lemma:net95hierarchy95construction]), \(D_k(u)\) is also \(2^{k - 3}\)-packing for \(B(u, 2^{\ell + 2})\).
For [it:desc95covering], since \(N_k\) is \(2^{k - 2}\)-covering for \(X\), there exists \(v \in N_k\), such that \(\mathop{\mathrm{\mathbf{d}}}(x, v) \leq 2^{k - 2}\). It remains to prove that \(v \in D_k(u)\): Denote \(v_k := v\); for \(k + 1 \leq j \leq \ell - 1\), denote \(v_j \in N_j\) as the level-\(j\) net point closest to \(v_{j - 1}\). Then \(\mathop{\mathrm{\mathbf{d}}}(v_j, v_{j - 1}) \leq 2^{j - 2}\), and thus \(v_{j - 1} \in C(v_j)\). Note that \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(v_{\ell - 1}, u) \leq \mathop{\mathrm{\mathbf{d}}}(u, x) + \mathop{\mathrm{\mathbf{d}}}(x, v) + \sum_{j = k + 1}^{\ell - 1} \mathop{\mathrm{\mathbf{d}}}(v_{j - 1}, v_j) \leq 2^{\ell} + 2^{k - 2} + \sum_{j = k + 1}^{\ell - 1} 2^{j -2} \leq 2^\ell + 2^{\ell - 2} < 2^{\ell + 1}. \end{align}\] Therefore, \(v_{\ell - 1} \in C(u)\), and consequently, \(v \in D_k(u)\). ◻
Proof. By [it:desc95packing] of [lemma:descendants95packing95covering], \(C(u)\) is \(2^{\ell - 4}\)-packing for \(B(u, 2^{\ell + 2})\). Hence by 1, \(|C(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\).
Assume \(u\) is a child of \(u'\). Then by 3, \(\mathop{\mathrm{\mathbf{d}}}(u, u') \leq 2^{\mathop{\mathrm{lev}}(u') + 1} = 2^{\ell + 2}\). Since \(u' \in N_{\ell + 1}\), which is \(2^{\ell - 2}\)-packing, the number of such \(u'\), by 1, is at most \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). ◻
Proof. For the purpose of construction, each net point \(u \in N_\ell\) maintains, apart from its children \(C(u)\), two auxiliary sets: (i) the group \(G(u) := \{x \in X \colon u = \mathop{\mathrm{argmin}}_{u' \in N_\ell} \mathop{\mathrm{\mathbf{d}}}(x, u')\}\) (i.e., \(G(u)\) contains all points \(x \in X\) such that \(u\) is the point in \(N_\ell\) closest to \(x\), breaking tie arbitrarily), and (ii) the neighbors \(H(u) := B(u, 2^{\ell + 2}) \cap N_\ell\), i.e., all net points in \(N_\ell\) within distance \(2^{\ell + 2}\) from \(u\).
The data structure is constructed inductively in a top-down manner. At level \(L\), \(N_L\) contains one arbitrary point \(u \in X\). Its group and neighbors, by definition, are \(G(u) = X\) and \(H(u) = \{u\}\), respectively. Assume \(N_{\ell + 1}\) together with \(\{G(u)\}_{u \in N_{\ell + 1}}\) and \(\{H(u)\}_{u \in N_{\ell + 1}}\) is already constructed, we construct \(N_\ell\), \(\{C(u)\}_{u \in N_{\ell + 1}}\), \(\{G(v)\}_{v \in N_{\ell}}\) and \(\{H(v)\}_{v \in N_{\ell}}\) by the following steps.
For each \(u \in N_{\ell + 1}\), construct a \(2^{\ell - 3}\)-net \(N_\ell'(u)\) of \(G(u)\), such that \(u \in N_\ell'(u)\). Denote \(N_\ell'\) as the union of all these nets, i.e., \[N_\ell' := \bigcup_{u \in N_{\ell + 1}} N_\ell'(u).\]
In particular, each \(N_\ell'(u) \subseteq G(u)\) can be constructed greedily in time \(|N_\ell'(u)| \cdot |G(u)|\). Hence, the total complexity of constructing \(N_\ell'\) is \[\begin{align} \sum_{u \in N_{\ell + 1}} |N_\ell'(u)| \cdot |G(u)| \leq \sum_{u \in N_{\ell + 1}} 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} \cdot |G(u)| = 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n. \end{align}\] In the first inequality, we use that \(|N_\ell'(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), this is because \(N_\ell'(u)\) is \(2^{\ell - 3}\)-packing for \(G(u)\) and \(\mathop{\mathrm{\operatorname{diam}}}(G(u)) \leq 2^{\ell - 1} + 2^{\ell - 1} = 2^\ell\).
\(N_\ell'\) is already \(2^{\ell - 3}\)-covering for \(X\) by construction, but may not be \(2^{\ell - 3}\)-packing, as two net points from different groups can be very close to each other. More concretely, if \(v, v' \in N_\ell'\) satisfies \(\mathop{\mathrm{\mathbf{d}}}(v, v') < 2^{\ell - 3}\), and assume \(v \in N_\ell'(u)\) and \(v' \in N_\ell'(u')\), we then have \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, u') \leq \mathop{\mathrm{\mathbf{d}}}(v, v') + \mathop{\mathrm{\mathbf{d}}}(v, u) + \mathop{\mathrm{\mathbf{d}}}(v', u') \leq 2^{\ell - 3} + 2^{\ell - 1} + 2^{\ell - 1} < 2^{\ell + 3}. \end{align}\] Equivalently, \(u' \in H(u)\) and \(v' \in \bigcup_{u' \in H(u)} N_\ell'(u')\). We thus have the following procedure to eliminate the close points in \(N_\ell'\):
Let \(\sigma\) be an arbitrary ordering over \(N_\ell'\), such that for \(u \in N_{\ell + 1} \subseteq N_\ell'\), \(\sigma(u) \leq |N_{\ell + 1}|\). Initially, let \(N_\ell = N_\ell'\). Each time we pick one unexplored point \(v \in N_\ell\) with the smallest order \(\sigma(v)\), and find \(u \in N_{\ell + 1}\) such that \(v \in N_\ell'(u)\). Then, for each point \(v' \in \bigcup_{u' \in H(u)} N_\ell'(u')\), if \(\mathop{\mathrm{\mathbf{d}}}(v, v') < 2^{\ell - 3}\) and \(\sigma(v) < \sigma(v')\), delete \(v'\) from \(N_\ell\). The remaining set after all points are explored is defined as the level-\(\ell\) net \(N_\ell\).
Note that \(|H(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) and \(|N_\ell'(u')| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) for each \(u' \in H(u)\), hence the time complexity of exploring each \(v \in N_\ell'\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). Therefore, the time complexity of the above elimination procedure is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} |N_\ell'| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\).
We claim that \(N_\ell\) is \(2^{\ell - 3}\)-packing and \(2^{\ell - 2}\)-covering for \(X\). Indeed, the packing property follows directly from the way \(N_\ell\) is constructed. Regarding the covering property, let us fix a point \(x \in X\) and prove that \(\mathop{\mathrm{\mathbf{d}}}(x, N_\ell) \leq 2^{\ell - 2}\). Let \(v \in N_\ell'\) be the closest point to \(x\) in \(N_\ell'\). Recall that \(N_\ell'\) is \(2^{\ell - 3}\)-packing, so \(\mathop{\mathrm{\mathbf{d}}}(x, v) \leq 2^{\ell - 3}\). If \(v \in N_{\ell}\), then we already have \(\mathop{\mathrm{\mathbf{d}}}(x, N_\ell) \leq \mathop{\mathrm{\mathbf{d}}}(x, v) \leq 2^{\ell - 3}\). If \(v \notin N_\ell\), then it must be deleted during the aforementioned procedure. Assume \(v\) is deleted while the procedure is exploring \(v'\). We then have \(\mathop{\mathrm{\mathbf{d}}}(v, v') < 2^{\ell- 3}\), and \(v'\) must be contained in \(N_\ell\). Therefore, \(\mathop{\mathrm{\mathbf{d}}}(x, N_\ell) \leq \mathop{\mathrm{\mathbf{d}}}(x, v') \leq \mathop{\mathrm{\mathbf{d}}}(x, v) + \mathop{\mathrm{\mathbf{d}}}(v, v') \leq 2^{\ell - 2}\). In conclusion, \(N_\ell\) is \(2^{\ell - 3}\)-packing and \(2^{\ell - 2}\)-covering for \(X\).
Recall that for each \(u \in N_{\ell + 1}\), its children are \(C(u) = \{v \in N_\ell \colon \mathop{\mathrm{\mathbf{d}}}(u, v) \leq 2^{\ell + 2}\}\). Hence, it suffices to find for each \(v \in N_\ell\) all \(u' \in N_{\ell + 1}\) with \(\mathop{\mathrm{\mathbf{d}}}(v, u') \leq 2^{\ell + 2}\), and add \(v\) to \(C(u')\). Let \(u \in N_{\ell + 1}\) be such that \(v \in N_\ell'(u) \subseteq G(u)\), we then have \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, u') \leq \mathop{\mathrm{\mathbf{d}}}(u, v) + \mathop{\mathrm{\mathbf{d}}}(u', v) \leq 2^{\ell - 1} + 2^{\ell + 2} < 2^{\ell + 3}, \end{align}\] implying \(u' \in H(u)\). We thus have the following procedure:
For each \(v \in N_\ell\), find \(u \in N_{\ell + 1}\) such that \(v \in G(u)\). Enumerate all \(u' \in H(u)\); if \(\mathop{\mathrm{\mathbf{d}}}(u', v) \leq 2^{\ell + 2}\), then add \(v\) to \(C(u')\).
Since \(|H(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), the total time complexity is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} |N_\ell| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\).
It suffices to find for every \(x \in X\) its closest point \(v\) in \(N_\ell\), and add \(x\) to \(G(v)\). To this end, let \(u \in N_{\ell + 1}\) be such that \(x \in G(u)\). Then \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, v) \leq \mathop{\mathrm{\mathbf{d}}}(x, u) + \mathop{\mathrm{\mathbf{d}}}(x, v) \leq 2^{\ell - 1} + 2^{\ell - 2} < 2^{\ell + 2}. \end{align}\] This implies that \(v \in C(u)\). We thus have the following procedure:
For each \(x \in X\), find \(u \in N_{\ell + 1}\) such that \(x \in G(u)\). Find the point in \(C(u)\) closest to \(x\), denoted by \(v\). Add \(x\) to \(G(v)\).
By [lemma:num95children95parent], \(|C(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), so the time complexity is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\).
Recall that \(H(v) = \{v' \in N_\ell \colon \mathop{\mathrm{\mathbf{d}}}(v, v') \leq 2^{\ell + 2}\}\) for each \(v \in N_\ell\). Consider \(v \in N_\ell\) and \(v' \in H(v)\), and denote \(u, u' \in N_{\ell + 1}\) to be such that \(v \in G(u)\) and \(v' \in G(u')\), respectively. Then \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, u') \leq \mathop{\mathrm{\mathbf{d}}}(v, v') + \mathop{\mathrm{\mathbf{d}}}(u, v) + \mathop{\mathrm{\mathbf{d}}}(u', v') \leq 2^{\ell + 2} + 2^{\ell - 1} + 2^{\ell - 1} < 2^{\ell + 3}. \end{align}\] Hence, \(u' \in H(u)\) and \(v' \in \bigcup_{u' \in H(u)} N_\ell'(u')\). We thus have the following procedure:
For each \(v \in N_\ell\), find \(u \in N_{\ell + 1}\) such that \(v \in G(u)\). Enumerate \(v' \in \bigcup_{u' \in H(u)} N_\ell'(u')\); if \(\mathop{\mathrm{\mathbf{d}}}(v, v') \leq 2^{\ell + 2}\), then add \(v'\) to \(H(v)\).
Since \(|H(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) and \(|N_\ell'(u')| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) for each \(u' \in H(u)\), the time complexity is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} |N_\ell| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\).
The time complexity of constructing each level (including \(N_\ell\), \(\{C(u)\}_{u \in N_{\ell + 1}}\), \(\{G(v)\}_{v \in N_{\ell}}\) and \(\{H(v)\}_{v \in N_{\ell}}\)) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\). Since we have \(\log \Delta\) levels, the total time complexity of constructing the data structure is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\). ◻
Proof. For (1), assume by contradiction that there exists a pair \((U, V) \in \Psi\) and two different edges \((u, v), (u', v') \in U \times V\) in the MST \(T^*\). One can then replace \((u', v')\) by two edges \((u, u')\) and \((v, v')\). Such replacement does not change the connectivity, and \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, u') + \mathop{\mathrm{\mathbf{d}}}(v, v') < \frac{1}{t} \mathop{\mathrm{\mathbf{d}}}(U, V) + \frac{1}{t} \mathop{\mathrm{\mathbf{d}}}(U, V) \leq \frac{2}{t} \mathop{\mathrm{\mathbf{d}}}(u', v') \leq \mathop{\mathrm{\mathbf{d}}}(u', v'), \end{align}\] contradicting the minimality of \(T^*\).
For (2), it suffices to show that the resulting graph is connected. Denote the MST edges by \(\{e_1^*, e_2^*, \dots, e_{n - 1}^*\}\), where \(w(e_1^*) \leq w(e_2^*) \leq \dots \leq w(e_{n - 1}^*)\), and suppose \((U_i, V_i) \in \Psi\) is the selected pair with \(e_i^* \in U_i \times V_i\). Let \(e_i\) be an arbitrary edge in \(U_i \times V_i\). For \(1 \leq i \leq n - 1\), let \(G_i^*\) (resp. \(G_i\)) be the graph formed by \(\{e_1^*, e_2^*, \dots, e_{i}^*\}\) (resp. \(\{e_1, e_2, \dots, e_{i}\}\)). Let \(\mathcal{C}_i^* \subseteq 2^X\) (resp. \(\mathcal{C}_i \subseteq 2^X\)) be the collection of connected components in \(G_i^*\) (resp. \(G_i\)). We prove by induction that \(\mathcal{C}_i^* = \mathcal{C}_i\). (2) then follows by setting \(i = n - 1\).
The equation holds for \(i = 0\), as initially both \(\mathcal{C}_0^*\) and \(\mathcal{C}_0\) are collections of singletons. Assume \(\mathcal{C}_{i - 1}^* = \mathcal{C}_{i - 1}\). We first claim that \(U_i\) is connected in \(G_{i - 1}^*\) (and thus in \(G_{i - 1}\)). In fact, if there are two points \(u_1, u_2 \in U_i\) which are not connected in \(G_{i - 1}^*\), then since \(\mathop{\mathrm{\mathbf{d}}}(u_1, u_2) \leq \mathop{\mathrm{\operatorname{diam}}}(U_i) < \mathop{\mathrm{\mathbf{d}}}(U, V) \leq w(e_i^*)\), replacing \(e_i^*\) by \((u_1, u_2)\) yields a cheaper solution, which contradicts the minimality of \(T^*\). Similarly, \(V_i\) is also connected in \(G_{i - 1}^*\) (and thus in \(G_{i - 1}\)).
Therefore, \(e_i^*\) merges the connected components in \(G_{i - 1}^*\) which contain \(U_i\) and \(V_i\), and \(e_i\) merges the connected components in \(G_{i - 1}\) which contain \(U_i\) and \(V_i\). Since \(\mathcal{C}_{i - 1}^* = \mathcal{C}_{i - 1}\), we have \(\mathcal{C}_i^* = \mathcal{C}_i\), concluding the proof. ◻
Proof. The algorithm is given in 2.
To construct \(\Psi\), we call 2 with \(\mathrm{WSPC}(r, r)\) and parameter \(t\), where \(r\) is the “root” of the net hierarchy (i.e., the only net point in \(N_L\)). Properties [it:bounded95lev95diff] and [it:separation] follow directly from 2.
For property [it:Psi95covering], let us fix a pair of points \((x, y) \in \binom{X}{2}\), and show that there exists \((u, v) \in \Psi\) such that \((x, y) \in B(u, 2^{\mathop{\mathrm{lev}}(u)}) \times B(v, 2^{\mathop{\mathrm{lev}}(v)})\). To this end, assume 2 makes a call to \(\mathrm{WSPC}(u, v)\), where \(x \in B(u, 2^{\mathop{\mathrm{lev}}(u)})\) and \(y \in B(v, 2^{\mathop{\mathrm{lev}}(v)})\); we show that the call \(\mathrm{WSPC}(u, v)\) either returns \((u, v)\), or makes a call to some \(\mathrm{WSPC}(u', v)\), such that \(x \in B(u', 2^{\mathop{\mathrm{lev}}(u')})\) and \(y \in B(v, 2^{\mathop{\mathrm{lev}}(v)})\). Indeed, it suffices to prove \[\begin{align} B(u, 2^{\mathop{\mathrm{lev}}(u)}) \subseteq \bigcup_{u' \in C(u)} B(u', 2^{\mathop{\mathrm{lev}}(u')}). \end{align}\] This follows directly from [it:desc95covering] of [lemma:descendants95packing95covering].
For property [it:bounded95deg], we will show a slightly stronger result: For each net point \(u\), the number of net points \(v\) such that 2 makes a call to \(\mathrm{WSPC}(u, v)\) is at most \(t^{O(\mathop{\mathrm{\operatorname{ddim}}})}\).
If \(u = r\) then the claim holds, as 2 calls \((r, v)\) only if \(v = r\) or \(v\) is a child of \(r\). By [lemma:num95children95parent], \(|C(r)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). Assume \(u \neq r\), and the procedure calls \((u, v)\) for some net point \(v\). We consider the last call that invokes \((u, v)\). We have two cases:
If the last call is \((u', v)\), where \(u\) is the child of \(u'\), then by property [it:bounded95lev95diff] we have \(\mathop{\mathrm{lev}}(v) \leq \mathop{\mathrm{lev}}(u) + 1\) and \(\mathop{\mathrm{lev}}(v) \geq \mathop{\mathrm{lev}}(u') - 1 = \mathop{\mathrm{lev}}(u)\). Moreover, since the call to \((u', v)\) does not return \(\{(u, v)\}\), we have \(\mathop{\mathrm{\mathbf{d}}}(u', v) \leq (2t + 2) \max\{2^{\mathop{\mathrm{lev}}(u')}, 2^{\mathop{\mathrm{lev}}(v)}\} = (2 t + 2) 2^{\mathop{\mathrm{lev}}(u')}\). By triangle inequality, \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(u, v) \leq \mathop{\mathrm{\mathbf{d}}}(u, u') + \mathop{\mathrm{\mathbf{d}}}(u', v) \leq 2^{\mathop{\mathrm{lev}}(u') + 1} + (2 t + 2) 2^{\mathop{\mathrm{lev}}(u')} = (2t + 4) 2^{\mathop{\mathrm{lev}}(u')} = (4t + 8) 2^{\mathop{\mathrm{lev}}(u)}. \end{align}\] As \(\mathop{\mathrm{lev}}(u) \leq \mathop{\mathrm{lev}}(v) \leq \mathop{\mathrm{lev}}(u) + 1\), all possible such \(v\) are in \[B(u, (4t + 8) 2^{\mathop{\mathrm{lev}}(u)}) \cap (N_{\mathop{\mathrm{lev}}(u)} \cup N_{\mathop{\mathrm{lev}}(u) + 1}).\] The number of such \(v\) is at most \((64 t + 128)^{O(\mathop{\mathrm{\operatorname{ddim}}})}\).
If the last call is \((u, v')\), where \(v\) is a child of \(v'\), then by property [it:bounded95lev95diff] we have \(\mathop{\mathrm{lev}}(v') \leq \mathop{\mathrm{lev}}(u) + 1\) and \(\mathop{\mathrm{lev}}(v') = \mathop{\mathrm{lev}}(v) + 1 \geq \mathop{\mathrm{lev}}(u)\). Since the call to \((u, v')\) does not return \(\{(u, v')\}\), we have \(\mathop{\mathrm{\mathbf{d}}}(u, v') \leq (2t + 2) \max\{2^{\mathop{\mathrm{lev}}(u)}, 2^{\mathop{\mathrm{lev}}(v')}\} \leq (4t + 4) 2^{\mathop{\mathrm{lev}}(u)}\). So all such \(v'\) are in \[B(u, (4t + 4) 2^{\mathop{\mathrm{lev}}(u)}) \cap (N_{\mathop{\mathrm{lev}}(u)} \cup N_{\mathop{\mathrm{lev}}(u) + 1}).\] The number of such \(v'\) is at most \((64 t + 64)^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). As \(v\) is one child of \(v'\), by [lemma:num95children95parent], the number of \(v\) is at most \((64 t + 64)^{O(\mathop{\mathrm{\operatorname{ddim}}})} \cdot 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\).
In conclusion, the number of net points \(v\) such that the procedure makes a call to \((u, v)\) is at most \(t^{O(\mathop{\mathrm{\operatorname{ddim}}})}\). Property [it:bounded95deg] thus follows, and the time complexity of constructing \(\Psi\) also follows.
To prove the “In particular” part, let us check that \(\Phi\) satisfies 5. The covering property (5 [it:WSPC95covering]) follows directly from property [it:Psi95covering]. Regarding the separation (5 [it:WSPC95separation]), note that for a pair \((u, v) \in \Psi\), if \(\mathop{\mathrm{lev}}(u) = \mathop{\mathrm{lev}}(v) = 0\), then both \(B(u, 2^{\mathop{\mathrm{lev}}(u)})\) and \(B(v, 2^{\mathop{\mathrm{lev}}(v)})\) are singletons, thus have diameter \(0\). Otherwise, by property [it:separation], \(\mathop{\mathrm{\mathbf{d}}}(u, v) > (2t + 2) \max\{2^{\mathop{\mathrm{lev}}(u)}, 2^{\mathop{\mathrm{lev}}(v)}\}\). Hence, \[\begin{align} \mathop{\mathrm{\mathbf{d}}}(B(u, 2^{\mathop{\mathrm{lev}}(u)}), B(v, 2^{\mathop{\mathrm{lev}}(v)})) \geq \mathop{\mathrm{\mathbf{d}}}(u, v) - 2^{\mathop{\mathrm{lev}}(u)} - 2^{\mathop{\mathrm{lev}}(v)} > 2t \cdot \max\{2^{\mathop{\mathrm{lev}}(u)}, 2^{\mathop{\mathrm{lev}}(v)}\}. \end{align}\] So \(\Phi\) is a \(t\)-WSPC of \(X\).
To construct \(\Phi\) from \(\Psi\), it suffices to construct \(B(u, 2^{\mathop{\mathrm{lev}}(u)})\) for every net point \(u\) on the net hierarchy. For each \(x \in X\) and \(0 \leq \ell \leq L\), denote \(P_\ell(x) := \{u \in N_\ell \colon \mathop{\mathrm{\mathbf{d}}}(u, x) \leq 2^\ell\}\). The problem then reduces to computing \(P_\ell(x)\) for all \(x \in X\) and \(0 \leq \ell \leq L\). We can construct \(P_\ell(x)\) inductively: The base case is \(P_0(x) = \{x\}\). For \(\ell \geq 1\), assume we already have \(P_{\ell - 1}(x)\). Note that for every \(u \in P_\ell(x)\) and \(v \in P_{\ell - 1}(x)\), \(\mathop{\mathrm{\mathbf{d}}}(u, v) \leq \mathop{\mathrm{\mathbf{d}}}(u, x) + \mathop{\mathrm{\mathbf{d}}}(v, x) \leq 2^\ell + 2^{\ell - 1} < 2^{\ell + 1}\), so \(v \in C(u)\). Hence to construct \(P_\ell(x)\), we pick an arbitrary point \(v \in P_{\ell - 1}(x)\), construct the set \(A = \{u \in N_\ell \colon v \in C(u)\}\) using pointers to \(v\), and compute \(P_\ell(x) := A \cap B(x, 2^\ell)\). Since \(|A| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\) by [lemma:num95children95parent], the time complexity of constructing \(P_\ell(x)\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), thus \(P_\ell(x)\) for all \(0 \leq \ell \leq L\) and \(x \in X\) can be constructed in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\) time. Therefore, \(\Phi\) can be constructed from \(\Psi\) in time \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta + t^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta = t^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log \Delta\). ◻
lemmalemmaddimapx There is an algorithm that, given as input an \(n\)-point metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) with aspect ratio \(\Delta\), computes in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}}(X))} n \log \Delta\) time a number \(t > 0\), such that \(c_1 \mathop{\mathrm{\operatorname{ddim}}}(X) \leq t \leq c_2 \mathop{\mathrm{\operatorname{ddim}}}(X)\), where \(c_1\) and \(c_2\) are absolute constants.
Proof. Our approximation algorithm is rather simple: We first construct the net hierarchy \(\mathcal{N}= \{N_0, N_1, \dots, N_L\}\) over \(X\) by [lemma:net95hierarchy95construction]. (Note that the construction of \(\mathcal{N}\) in the proof of [lemma:net95hierarchy95construction] does not require knowing \(\mathop{\mathrm{\operatorname{ddim}}}(X)\) in advance.) We then output \[\begin{align} t = \max_{u \in \bigcup_{\ell = 0}^L N_\ell} \log |C(u)| \end{align}\] as an approximation of \(\mathop{\mathrm{\operatorname{ddim}}}\).
The running time follows directly from [lemma:net95hierarchy95construction]. It then remains to prove that \(t = \Theta(\mathop{\mathrm{\operatorname{ddim}}})\). For the upper bound, by [lemma:num95children95parent], we have that for each net point \(u\), \(|C(u)| \leq 2^{O(\mathop{\mathrm{\operatorname{ddim}}})}\), so \(t = O(\mathop{\mathrm{\operatorname{ddim}}})\).
For the lower bound, fix an arbitrary point \(x \in X\) and a radius \(r \in [1, \Delta]\), we show that the ball \(B(x, r)\) can be covered by at most \(2^{O(t)}\) balls of half the radius, implying the desired bound \(\mathop{\mathrm{\operatorname{ddim}}}= O(t)\). In fact, let \(\ell\) be such that \(2^{\ell - 1} < r \leq 2^\ell\); let \(u \in N_{\ell + 2}\) be the closest net point to \(x\) in \(N_{\ell + 2}\). By 1 , \(\mathop{\mathrm{\mathbf{d}}}(x, u) \leq 2^{\ell}\), so \[B(x, r) \subseteq B(u, 2^{\ell + 1}).\] Moreover, by [lemma:descendants95packing95covering] [it:desc95covering], \[B(u, 2^{\ell + 1}) \subseteq \bigcup_{v \in D_{\ell}(u)} B(v, 2^{\ell - 2}) \subseteq \bigcup_{v \in D_{\ell}(u)} B(v, r/2).\] Therefore, \(B(x, r)\) can be covered by \(|D_\ell(u)| \leq 2^{2t}\) balls of half the radius. Hence, \(\mathop{\mathrm{\operatorname{ddim}}}\leq 2 t\) as \(x\) and \(r\) are arbitrarily chosen. ◻
lemmalemmaboundedspread Given an \(n\)-point metric space \((X, \mathop{\mathrm{\mathbf{d}}})\) with doubling dimension \(\mathop{\mathrm{\operatorname{ddim}}}\) and \(\epsilon \in (0, 1)\), one can compute in \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\) time a subset \(X' \subseteq X\), such that
(1) The aspect ratio of \(X'\) is \(O(n^{10}/\epsilon)\).
(2) Given any \((1 + \epsilon)\)-approximate MST of \(X'\), one can reconstruct in \(O(n)\) time a \((1 + 2 \epsilon)\)-approximate MST of \(X\).
Proof. Assume the interpoint distance of \(X\) is \(1\) and the diameter of \(X\) is \(\Delta\). The subset \(X'\) is constructed as follows:
Let \(\ell_0\) be the largest integer \(\ell\) with \(2^{\ell - 3} \leq \epsilon \Delta / n^{10}\). We run the algorithm in 6.1 to construct the highest \(L - \ell_0 + 1\) levels of the net hierarchy, i.e., \(N_L, N_{L - 1}, \dots, N_{\ell_0}\), and maintain the grouping \(\{G(u)\}_{u \in N_{\ell_0}}\) at level \(\ell_0\). Define \(X' := N_{\ell_0}\).
By the construction in the proof of [lemma:net95hierarchy95construction] computing each level takes \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n\) time. Since we have \(L - \ell_0 + 1 = O(\log(n/\epsilon))\) levels, the time complexity of constructing \(X'\) is \(2^{O(\mathop{\mathrm{\operatorname{ddim}}})} n \log(n/\epsilon)\).
Property (1) follows directly from the construction, as \(\mathop{\mathrm{\operatorname{diam}}}(X') = \Delta\) and the minimum interpoint distance of \(X'\), by [lemma:net95hierarchy95construction], is at least \(2^{\ell_0 - 3} \leq \epsilon \Delta / n^{10}\).
For property (2), we first show that \[\begin{align} \mathop{\mathrm{MST}}(X') \leq \mathop{\mathrm{MST}}(X) + \frac{4 \epsilon \Delta}{n^9}. \label{eqn:MST95change} \end{align}\tag{9}\] Indeed, let \(T^*\) be the MST of \(X\); we construct a spanning tree \(T'\) of \(X'\) as follows: For every edge \(e = (x, y) \in T^*\), let \(u\) and \(v\) be points in \(X' = N_{\ell_0}\) such that \(x \in G(u)\) and \(y \in G(v)\); add the edge \(e' = (u, v)\) to \(T'\). Clearly \(T'\) is connected in \(X'\), as each path in \(T^*\) has a corresponding path in \(T'\). Thus, after removing cycles and duplicated edges, \(T'\) becomes a spanning tree of \(X'\). On the other hand, recall the definition of grouping that \(u\) (resp. \(v\)) is the closest point to \(x\) (resp. \(y\)) in \(N_{\ell_0}\), so \(\mathop{\mathrm{\mathbf{d}}}(x, u) \leq 2^{\ell_0 - 2} \leq 2 \epsilon \Delta / n^{10}\) (resp. \(\mathop{\mathrm{\mathbf{d}}}(y, v) \leq 2 \epsilon \Delta / n^{10}\)). Therefore, for each edge \(e = (x, y) \in T^*\), \[\begin{align} w(e') - w(e) = \mathop{\mathrm{\mathbf{d}}}(u, v) - \mathop{\mathrm{\mathbf{d}}}(x, y) \leq \mathop{\mathrm{\mathbf{d}}}(x, u) + \mathop{\mathrm{\mathbf{d}}}(y, v) \leq \frac{4 \epsilon \Delta}{n^{10}}. \end{align}\] We hence have \[\begin{align} w(T') - w(T^*) \leq \sum_{e \in T^*} \frac{4 \epsilon \Delta}{n^{10}} \leq \frac{4 \epsilon \Delta}{n^9}, \end{align}\] completing the proof of 9 .
Given an arbitrary \((1 + \epsilon)\)-approximate MST \(T'\) of \(X'\), we can construct a spanning tree \(T\) of \(X\) in \(O(n)\) time as follows: For each \(x \in X \setminus X'\), find \(u \in X' = N_{\ell_0}\) such that \(x \in G(u)\) and connect the edge \((x, u)\). Moreover, \[\begin{align} w(T) &= w(T') + \sum_{x \in X \setminus X'} \mathop{\mathrm{\mathbf{d}}}(x, X') \\ &\leq (1 + \epsilon) \mathop{\mathrm{MST}}(X') + n \cdot \frac{2 \epsilon \Delta}{n^{10}} \\ &\leq (1 + \epsilon) (\mathop{\mathrm{MST}}(X) + \frac{4 \epsilon \Delta}{n^9}) + \frac{2\epsilon \Delta}{n^9} &&\text{by \eqref{eqn:MST95change}} \\ &\leq (1 + \epsilon) \mathop{\mathrm{MST}}(X) + \frac{10 \epsilon \Delta}{n^9} \\ &\leq (1 + 2 \epsilon) \mathop{\mathrm{MST}}(X) &&\text{since } \mathop{\mathrm{MST}}(X) \geq \Delta \text{ and } n \geq 2. \end{align}\] This concludes the proof of property (2). ◻
Email: hoeckendorff@cs.uni-koeln.de. Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Project Number 459420781.↩︎
Email: hommelsheim@cs.uni-koeln.de. Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Project Number 573939419.↩︎
Email: csohler@uni-koeln.de.↩︎
Email: diyue@cs.toronto.edu.↩︎
When referring to WSPC pairs, we slightly abuse the notation and treat \(A \times B\) as a collection of unordered pairs, i.e., \(A \times B := \{\{a, b\} \colon a \in A, b \in B, a \neq b\}\).↩︎
If \(p(x)\) is the only point in \(N_{T^*}^\ell(x)\), then \(c_\ell\) does not exist. In this case we simply skip level \(\ell\).↩︎