scispace - formally typeset
Search or ask a question

Showing papers by "Gerth Stølting Brodal published in 2017"


Proceedings Article
01 Jan 2017
TL;DR: This work matches the previous best worst-case algorithm (in O(logn) flips) for general arboricity and beat it for either constant or super-logarithmicArboricity, and gives the first results with worst- case O(1) and O (√ logn ) flips nearly matching degree bounds to their respective amortized solutions.
Abstract: Graph orientations with low out-degree are one of several ways to efficiently store sparse graphs. If the graphs allow for insertion and deletion of edges, one may have to flip the orientation of some edges to prevent blowing up the maximum out-degree. We use arboricity as our sparsity measure. With an immensely simple greedy algorithm, we get parametrized trade-off bounds between out-degree and worst case number of flips, which previously only existed for amortized number of flips. We match the previous best worst-case algorithm (in $$\mathcal {O}\left( \log n\right) $$ flips) for almost all values of arboricity and beat it for either constant or super-logarithmic arboricity. We also match a previous best amortized result for at least logarithmic arboricity, and give the first results with worst-case $$\mathcal {O}\left( 1\right) $$ and $$\mathcal {O}\left( \sqrt{\log n}\right) $$ flips nearly matching out-degree bounds to their respective amortized solutions.

16 citations


Posted Content
TL;DR: In this paper, the authors present two cache oblivious algorithms that combine the best of both worlds: their relative simplicity and the fact that they scale to external memory makes them achieve the best practical performance.
Abstract: We study the problem of computing the triplet distance between two rooted unordered trees with $n$ labeled leafs. Introduced by Dobson 1975, the triplet distance is the number of leaf triples that induce different topologies in the two trees. The current theoretically best algorithm is an $\mathrm{O}(n \log n)$ time algorithm by Brodal et al. (SODA 2013). Recently Jansson and Rajaby proposed a new algorithm that, while slower in theory, requiring $\mathrm{O}(n \log^3 n)$ time, in practice it outperforms the theoretically faster $\mathrm{O}(n \log n)$ algorithm. Both algorithms do not scale to external memory. We present two cache oblivious algorithms that combine the best of both worlds. The first algorithm is for the case when the two input trees are binary trees and the second a generalized algorithm for two input trees of arbitrary degree. Analyzed in the RAM model, both algorithms require $\mathrm{O}(n \log n)$ time, and in the cache oblivious model $\mathrm{O}(\frac{n}{B} \log_{2} \frac{n}{M})$ I/Os. Their relative simplicity and the fact that they scale to external memory makes them achieve the best practical performance. We note that these are the first algorithms that scale to external memory, both in theory and practice, for this problem.

2 citations