The highest quality geometric spanner (e.g. in terms of edge count, both in theory and in practice) known to be computable in polynomial time is the greedy spanner. The state-of-the-art in computing this spanner are a O(n 2 log n) time, O(n 2 ) space algorithm and a O(n 2 log 2 n) time, O(n) space algorithm, as well as the 'improved greedy' algorithm, taking O(n 3 log n) time in the worst case and O(n 2 ) space but being faster in practice thanks to a caching strategy.We identify why this caching strategy gives speedups in practice. We formalize this into a framework and give a general efficiency lemma. From this we obtain many new time bounds, both on old algorithms and on new algorithms we introduce in this paper. Interestingly, our bounds are in terms of the well-separated pair decomposition, a data structure not actually computed by the caching algorithms.Specifically, we show that the 'improved greedy' algorithm has a O(n 2 log n log Φ) running time (where Φ is the spread of the point set) and a variation has a O(n 2 log 2 n) running time. We give a variation of the linear space stateof-the-art algorithm and an entirely new algorithm with a O(n 2 log n log Φ) running time, both of which improve its space usage by a factor O(1/(t − 1)), where t is the dilation of the spanner.We present experimental results comparing all the above algorithms. The experiments show that our new algorithm is much more space efficient than the existing linear space algorithm -up to 200 times when using low t -while being comparable in running time and much easier to implement. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org.
Categories and Subject Descriptors