VLDB 2026 Research / reviewers in the wild / expert
Gerth Stølting Brodal
dblp:b/GerthStoltingBrodal
· DBLP profile ↗
106ranked-venue papers
80as first author
16since 2021 · last 2026
0000-0001-9054-915XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 90 · 71 first-author · 14 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 5 · 4 first-author · 1 since 2021Systems, architecture and hardware · 4 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Learning-Augmented Online Sorting and TSPabstractThe online sorting problem is a natural online analog of classical sorting: n elements arrive one by one and must be placed irrevocably into an array of size n so as to minimize the sum of absolute differences between consecutive elements. Recent work by Aamand et al. [SODA 2023] and Abrahamsen et al. [ESA 2024] showed that the optimal competitive ratio for this problem is Θ(√n), even when randomization is allowed. Bertram [ESA 2025] extended this bound to the online traveling salesman problem (TSP), of which online sorting is a special case on the line metric. These polynomial bounds raise the question of whether additional information can lead to improved performance. In this paper, we initiate the study of online sorting and TSP in the framework of machine-learned predictions. We characterize the exact tradeoff between consistency and robustness for online sorting with predictions, and prove a surprising lower bound showing that robustness is not lossless in this setting. This phenomenon sets online sorting apart from most previously studied online problems with predictions. We extend our results to online TSP with predictions on general metric spaces, where the same consistency-robustness tradeoff persists. Finally, we present a sharp contrast in the case of online TSP on the uniform metric. While Abrahamsen et al. gave an O(log n)-competitive algorithm without predictions for the uniform metric, we show that predictions enable an algorithm that is simultaneously O(1)-consistent and O(log n)-robust. We further extend this result to the setting of multiple predictions. Ioana O. Bercea, Gerth Stølting Brodal, John Iacono, László Kozma 0002, Debmalya Panigrahi |
ESA | 2 |
| 2026 | Algorithm Exercises Skyline and Young Tableau: Divide-and-Conquer RevisitedabstractWe revisit the two classic algorithm exercises skyline and Young tableau, often given to students in an introduction to algorithms course. For both problems we present alternative, still very simple, divide-and-conquer solutions achieving running-times better than what is traditionally asked to achieve in these exercises, in the sense that the running times we achieve are output and input sensitively, respectively. Computing the skyline of a list of n buildings is a classic algorithm problem, solvable with various sweep line and divide-and-conquer approaches in O(nlg n) time. The classic divide-and-conquer solution resembles mergesort, merging skylines of subsets of the buildings. In this paper we describe an alternative simple divide-and-conquer approach (using Kirkpatrick and Seidel’s marriage-before-conquest technique), achieving an optimal output sensitive running time of O(n lg k), where k is the number of buildings contributing to the skyline. For the Young tableau problem, we consider searching rectangular m × n matrices which are both row and column monotone, and where the original problem asks to find an algorithm with running time O(m+n). We present a simple divide-and-conquer algorithm for searching matrices in worst-case optimal running time O(m (1 + lg n/m)), where m ≤ n. We also present an input sensitive search algorithm with optimal running time O(k (1 + lg n/k)), where k is the complexity of the boundary in the matrix between values smaller and larger than the query value (k is the number of vertical line segments on the boundary, where k ≤ m). Here optimality refers to the best possible running time when expressing the running time in terms of m and n, or m, n and k, respectively. Gerth Stølting Brodal |
ESA | 1 |
| 2026 | The Impossibility of Simultaneous Time and I/O Optimality for the Planar Maxima and Convex Hull ProblemsabstractWe prove that no deterministic output-sensitive algorithm for the planar convex hull and maxima problems can obtain both optimal time and I/O complexity, where the optimality is defined with respect to both the input and output sizes. This explains why the best previous algorithms achieved an optimal I/O bound at the cost of sub-optimal running time (Goodrich et al. [FOCS, 1993]). To the best of our knowledge, the impossibility of simultaneous optimality was only shown previously for the permutation problem by Brodal and Fagerberg [STOC, 2003]. Our results imply that no optimal deterministic output-sensitive cache-oblivious algorithm exists for either problem. In addition, we present simple deterministic algorithms that match our lower bounds and that provide a trade-off between time and I/Os. On the other hand, a simple modification of our deterministic algorithm results in a randomized algorithm that simultaneously achieves optimal (worst-case) time and optimal expected I/O bounds. Peyman Afshani, Gerth Stølting Brodal, Nodari Sitchinava |
ICALP | 2 |
| 2026 | Organic Mergesort and Finger Buffer-Tree Sort: Adaptive Sorting Algorithms with External-Memory or Parallel Implementations
Gerth Stølting Brodal, Michael T. Goodrich, Ryuto Kitagawa, Nodari Sitchinava, Rolf Svenning |
IPDPS | 1 |
| 2026 | Dynamic Convex Hulls for Simple Paths
Bruce W. Brewer, Gerth Stølting Brodal, Haitao Wang 0001 |
Discret. Comput. Geom. | 2 |
| 2025 | External-Memory Priority Queues with Optimal Insertions
Gerth Stølting Brodal, Michael T. Goodrich, John Iacono, Jared Lo, Ulrich Meyer 0001, Victor Pagan, Nodari Sitchinava, Rolf Svenning |
ESA | 1 |
| 2025 | Buffered Partially-Persistent External-Memory Search TreesabstractWe present an optimal partially-persistent external-memory search tree with amortized I/O bounds matching those achieved by the non-persistent Bε-tree by Brodal and Fagerberg [SODA 2003]. In a partially-persistent data structure, each update creates a new version. All past versions can be queried, but only the current version can be updated. Operations should be efficient with respect to the size Nv of the accessed version v. For any parameter 0 < ε < 1, our data structure supports insertions and deletions in amortized (Equation Presented) I/Os, where B is the external-memory block size. It also supports successor and range reporting queries in amortized (Equation Presented) I/Os, where K is the number of keys reported. The space usage of the data structure is linear in the total number of updates. We make the standard and minimal assumption that the internal memory has size M ≥ 2B. The previous state-of-the-art external-memory partially-persistent search tree by Arge, Danner and Teh [JEA 2003] supports all operations in worst-case (Equation Presented) I/Os, matching the bounds achieved by the classical B-tree by Bayer and McCreight [Acta Informatica 1972]. Our data structure successfully combines buffering updates with partial persistence. The I/O bounds can also be achieved in the worst-case sense, by slightly modifying our data structure and under the requirement that the memory size M = Ω(B1−ε log2(maxv Nv)). For updates, where the I/O bound is o(1), we assume that the I/Os are performed evenly spread out among the updates (by performing buffer-overflows incrementally). The worst-case result slightly improves the memory requirement over the previous ephemeral external-memory dictionary by Das, Iacono, and Nekrich (ISAAC 2022), who achieved matching worst-case I/O bounds but required M = Ω(B logB N), where N is the size of the current dictionary. Gerth Stølting Brodal, Casper Moldrup Rysgaard, Rolf Svenning |
ESA | 1 |
| 2025 | A Simple Integer Successor-Delete Data Structure
Gerth Stølting Brodal |
SEA | 1 |
| 2025 | Strict Fibonacci HeapsabstractWe present the strict Fibonacci heap , the first pointer-based heap implementation with time bounds matching those of Fibonacci heaps in the worst case. Strict Fibonacci heaps support make-heap, insert, find-min, meld and decrease-key in worst-case \(O(1)\) time, and delete and delete-min in worst-case \(O(\lg n)\) time, where \(n\) is the size of the heap. The data structure uses linear space. A previous solution achieving the same time bounds in the RAM model made essential use of arrays and extensive use of redundant counter schemes to maintain balance. Our solution uses neither. Our key simplification is to discard the structure of the smaller heap when doing a meld, and to use the pigeonhole principle in place of the redundant counter mechanism to maintain balance. Gerth Stølting Brodal, George Lagogiannis, Robert E. Tarjan |
ACM Trans. Algorithms | 1 |
| 2024 | Dynamic Convex Hulls for Simple PathsabstractWe consider two restricted cases of the planar dynamic convex hull problem with point insertions and deletions. We assume all updates are performed on a deque (double-ended queue) of points. The first case considers the monotonic path case, where all points are sorted in a given direction, say horizontally left-to-right, and only the leftmost and rightmost points can be inserted and deleted. The second case, which is more general, assumes that the points in the deque constitute a simple path. For both cases, we present solutions supporting deque insertions and deletions in worst-case constant time and standard queries on the convex hull of the points in O(log n) time, where n is the number of points in the current point set. The convex hull of the current point set can be reported in O(h+log n) time, where h is the number of edges of the convex hull. For the 1-sided monotone path case, where updates are only allowed on one side, the reporting time can be reduced to O(h), and queries on the convex hull are supported in O(log h) time. All our time bounds are worst case. In addition, we prove lower bounds that match these time bounds, and thus our results are optimal. Bruce W. Brewer, Gerth Stølting Brodal, Haitao Wang 0001 |
SoCG | 2 |
| 2024 | On Finding Longest Palindromic Subsequences Using Longest Common SubsequencesabstractTwo standard textbook problems illustrating dynamic programming are to find the longest common subsequence (LCS) between two strings and to find the longest palindromic subsequence (LPS) of a single string. A popular claim is that the longest palindromic subsequence in a string can be computed as the longest common subsequence between the string and the reversed string. We prove that the correctness of this claim depends on how the longest common subsequence is computed. In particular, we prove that the classical dynamic programming solution by Wagner and Fischer [JACM 1974] for finding an LCS in fact does find an LPS, while a slightly different LCS backtracking strategy makes the algorithm fail to always report a palindrome. Gerth Stølting Brodal, Rolf Fagerberg, Casper Moldrup Rysgaard |
ESA | 1 |
| 2024 | Priority queues with decreasing keysabstractA priority queue stores a multiset of items, each item being a 〈key,value〉 pair, and supports the insertion of a new item and extraction of an item with minimum key. In applications like Dijkstra's single source shortest path algorithm and Prim-Jarník's minimum spanning tree algorithm, the key of an item can decrease over time. Usually this is handled by either using a priority queue supporting the deletion of an arbitrary item or a dedicated DecreaseKey operation, or by inserting the same item multiple times but with decreasing keys. In this paper we study what happens if the keys associated with the items in a priority queue can decrease over time without informing the priority queue, and how such a priority queue can be used in Dijkstra's algorithm. We show that binary heaps with bottom-up insertions fail to report items with unchanged keys in correct order, while binary heaps with top-down insertions report items with unchanged keys in correct order. Furthermore, we show that skew heaps, leftist heaps, and priority queues based on linking the roots of heap-ordered trees, like pairing heaps, binomial queues and Fibonacci heaps, work correctly with decreasing keys without any modifications. Finally, we show that the post-order heap by Harvey and Zatloukal, a variant of a binary heap with amortized constant time insertions and amortized logarithmic time deletions, works correctly with decreasing keys and is a strong contender for an implicit priority queue supporting decreasing keys in practice. Gerth Stølting Brodal |
Theor. Comput. Sci. | 1 |
| 2023 | Funnelselect: Cache-Oblivious Multiple SelectionabstractWe present the algorithm funnelselect, the first optimal randomized cache-oblivious algorithm for the multiple-selection problem. The algorithm takes as input an unsorted array of N elements and q query ranks r_1 < ⋯ < r_q, and returns in sorted order the q input elements of rank r_1, …, r_q, respectively. The algorithm uses expected and with high probability O(∑_{i = 1}^{q+1} Δ_i/B ⋅ log_{M/B} N/(Δ_i) + N/B) I/Os, where B is the external memory block size, M ≥ B^{1+ε} is the internal memory size, for some constant ε > 0, and Δ_i = r_i - r_{i-1} (assuming r_0 = 0 and r_{q+1} = N + 1). This is the best possible I/O bound in the cache-oblivious and external memory models. The result is achieved by reversing the computation of the cache-oblivious sorting algorithm funnelsort by Frigo, Leiserson, Prokop and Ramachandran [FOCS 1999], using randomly selected pivots for distributing elements, and pruning computations that with high probability are not expected to contain any query ranks. Gerth Stølting Brodal, Sebastian Wild |
ESA | 1 |
| 2023 | External Memory Fully Persistent Search TreesabstractWe present the first fully-persistent external-memory search tree achieving amortized I/O bounds matching those of the classic (ephemeral) B-tree by Bayer and McCreight. The insertion and deletion of a value in any version requires amortized O(logB Nv) I/Os and a range reporting query in any version requires worst-case O(logB Nv + K/B) I/Os, where K is the number of values reported, Nv is the number of values in the version v of the tree queried or updated, and B is the external-memory block size. The data structure requires space linear in the total number of updates. Compared to the previous best bounds for fully persistent B-trees [Brodal, Sioutas, Tsakalidis, and Tsichlas, SODA 2012], this paper eliminates from the update bound an additive term of O(log2 B) I/Os. This result matches the previous best bounds for the restricted case of partial persistent B-trees [Arge, Danner and Teh, JEA 2003]. Central to our approach is to consider the problem as a dynamic set of two-dimensional rectangles that can be merged and split. Gerth Stølting Brodal, Casper Moldrup Rysgaard, Rolf Svenning |
STOC | 1 |
| 2023 | Space-Efficient Functional Offline-Partially-Persistent Trees with Applications to Planar Point Location
Gerth Stølting Brodal, Casper Moldrup Rysgaard, Jens Kristian Refsgaard Schou, Rolf Svenning |
WADS | 1 |
| 2021 | An Experimental Study of External Memory Algorithms for Connected ComponentsabstractWe empirically investigate algorithms for solving Connected Components in the external memory model. In particular, we study whether the randomized O(Sort(E)) algorithm by Karger, Klein, and Tarjan can be implemented to compete with practically promising and simpler algorithms having only slightly worse theoretical cost, namely Borůvka’s algorithm and the algorithm by Sibeyn and collaborators. For all algorithms, we develop and test a number of tuning options. Our experiments are executed on a large set of different graph classes including random graphs, grids, geometric graphs, and hyperbolic graphs. Among our findings are: The Sibeyn algorithm is a very strong contender due to its simplicity and due to an added degree of freedom in its internal workings when used in the Connected Components setting. With the right tunings, the Karger-Klein-Tarjan algorithm can be implemented to be competitive in many cases. Higher graph density seems to benefit Karger-Klein-Tarjan relative to Sibeyn. Borůvka’s algorithm is not competitive with the two others. Gerth Stølting Brodal, Rolf Fagerberg, David Hammer, Ulrich Meyer 0001, Manuel Penschuck |
SEA | 1 |
| 2020 | A Simple Greedy Algorithm for Dynamic Graph OrientationabstractGraph 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. Edvin Berglin, Gerth Stølting Brodal |
Algorithmica | 2 |
| 2020 | Fully persistent B-trees
Gerth Stølting Brodal, Spyros Sioutas, Konstantinos Tsakalidis, Kostas Tsichlas |
Theor. Comput. Sci. | 1 |
| 2017 | Cache Oblivious Algorithms for Computing the Triplet Distance Between TreesabstractWe 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 O(nlogn) time algorithm by Brodal et al. [SODA 2013]. Recently Jansson et al. proposed a new algorithm that, while slower in theory, requiring O(n log^3 n) time, in practice it outperforms the theoretically faster 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 O(n log n) time, and in the cache oblivious model O(n/B log_{2}(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. Gerth Stølting Brodal, Konstantinos Mampentzidis |
ESA | 1 |
| 2017 | A Simple Greedy Algorithm for Dynamic Graph OrientationabstractGraph 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 O(log n) flips) for general 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 O(1) and O(sqrt(log n)) flips nearly matching degree bounds to their respective amortized solutions. Edvin Berglin, Gerth Stølting Brodal |
ISAAC | 2 |
| 2016 | External Memory Three-Sided Range Reporting and Top-k Queries with Sublogarithmic UpdatesabstractAn external memory data structure is presented for maintaining a dynamic set of N two-dimensional points under the insertion and deletion of points, and supporting unsorted 3-sided range reporting queries and top-k queries, where top-k queries report the k points with highest y-value within a given x-range. For any constant 0 < epsilon <= 1/2, a data structure is constructed that supports updates in amortized O(1/(epsilon * B^{1-epsilon}) * log_B(N)) IOs and queries in amortized O(1/epsilon * log_B(N+K/B)) IOs, where B is the external memory block size, and K is the size of the output to the query (for top-k queries K is the minimum of k and the number of points in the query interval). The data structure uses linear space. The update bound is a significant factor B^{1-epsilon} improvement over the previous best update bounds for these two query problems, while staying within the same query and space bounds. Gerth Stølting Brodal |
STACS | 1 |
| 2016 | Two dimensional range minimum queries and Fibonacci lattices
Gerth Stølting Brodal, Pooya Davoodi, Moshe Lewenstein, Rajeev Raman, S. Srinivasa Rao 0001 |
Theor. Comput. Sci. | 1 |
| 2015 | Strictly Implicit Priority Queues: On the Number of Moves and Worst-Case Time
Gerth Stølting Brodal, Jesper Sindahl Nielsen, Jakob Truelsen |
WADS | 1 |
| 2015 | D2-Tree: A New Overlay with Deterministic Bounds
Gerth Stølting Brodal, Spyros Sioutas, Kostas Tsichlas, Christos D. Zaroliagis |
Algorithmica | 1 |
| 2015 | OnlineMin: A Fast Strongly Competitive Randomized Paging Algorithm
Gerth Stølting Brodal, Gabriel Moruz, Andrei Negoescu |
Theory Comput. Syst. | 1 |
| 2014 | On the Scalability of Computing Triplet and Quartet DistancesabstractIn this paper we present an experimental evaluation of the algorithms by Brodal et al. [SODA 2013] for computing the triplet and quartet distance measures between two leaf labelled rooted and unrooted trees of arbitrary degree, respectively. The algorithms count the number of rooted tree topologies over sets of three leaves (triplets) and unrooted tree topologies over four leaves (quartets), respectively, that have different topologies in the two trees. The algorithms by Brodal et al. maintain a long sequence of variables (hundreds for quartets) for counting different cases to be considered by the algorithm, making it unclear if the algorithms would be of theoretical interest only. In our experimental evaluation of the algorithms the typical overhead per node is about 2 KB and 10 KB per node in the input trees for triplet and quartet computations, respectively. This allows us to compute the distance measures for trees with up to millions of nodes. The limiting factor is the amount of memory available. With 31 GB of memory all our input instances can be solved within a few minutes. In the algorithm by Brodal et al. a few choices were made, where alternative solutions possibly could improve the algorithm, in particular for quartet distance computations. For quartet computations we expand the algorithm to also consider alternative computations, and make two observations: First we observe that the running time can be improved from O(max(d1, d2)·n·lg n) to O(min(d1, d2)·n·lg n), where n is the number of leaves in the two trees, and d1 and d2 are the maximum degrees of the nodes in the two trees, respectively. Secondly, by taking a different approach to counting the number of disagreeing quartets we can reduce the number of calculations needed to calculate the quartet distance, improving both the running time and the space requirement by our algorithm by a constant factor. Morten Kragelund Holt, Jens Johansen, Gerth Stølting Brodal |
ALENEX | 3 |
| 2014 | tqDist: a library for computing the quartet and triplet distances between binary or general treesabstractUNLABELLED: tqDist is a software package for computing the triplet and quartet distances between general rooted or unrooted trees, respectively. The program is based on algorithms with running time [Formula: see text] for the triplet distance calculation and [Formula: see text] for the quartet distance calculation, where n is the number of leaves in the trees and d is the degree of the tree with minimum degree. These are currently the fastest algorithms both in theory and in practice. AVAILABILITY AND IMPLEMENTATION: tqDist can be installed on Windows, Linux and Mac OS X. Doing this will install a set of command-line tools together with a Python module and an R package for scripting in Python or R. The software package is freely available under the GNU LGPL licence at http://birc.au.dk/software/tqDist. Andreas Sand, Morten Kragelund Holt, Jens Johansen, Gerth Stølting Brodal, Thomas Mailund, Christian N. S. Pedersen |
Bioinform. | 4 |
| 2014 | Dynamic 3-sided planar range queries with expected doubly-logarithmic time
Gerth Stølting Brodal, Alexis C. Kaporis, Apostolos N. Papadopoulos, Spyros Sioutas, Konstantinos Tsakalidis, Kostas Tsichlas |
Theor. Comput. Sci. | 1 |
| 2013 | An Optimal and Practical Cache-Oblivious Algorithm for Computing Multiresolution RastersabstractIn many scientific applications it is required to reconstruct a raster dataset many times, each time using a different resolution. This leads to the following problem; let $\mathcal{G}$ be a raster of $\sqrt{N}$ x $\sqrt{N}$ cells. We want to compute for every integer 2 $\leq \mu \leq \sqrt{N}$ a raster $\mathcal{G}_\mu$ of [ $\sqrt{N}/\mu$ ] x [ $\sqrt{N}/\mu$ ] cells where each cell of $\mathcal{G}_\mu$ stores the average of the values of μ x μ cells of $\mathcal{G}$ . Here we consider the case where $\mathcal{G}$ is so large that it does not fit in the main memory of the computer. We present a novel algorithm that solves this problem in O(scan(N)) data block transfers from/to the external memory, and in θ(N) CPU operations; here scan(N) is the number of block transfers that are needed to read the entire dataset from the external memory. Unlike previous results on this problem, our algorithm achieves this optimal performance without making any assumptions on the size of the main memory of the computer. Moreover, this algorithm is cache-oblivious; its performance does not depend on the data block size and the main memory size. We have implemented the new algorithm and we evaluate its performance on datasets of various sizes; we show that it clearly outperforms previous approaches on this problem. In this way, we provide solid evidence that non-trivial cache-oblivious algorithms can be implemented so that they perform efficiently in practice. Lars Arge, Gerth Stølting Brodal, Jakob Truelsen, Constantinos Tsirogiannis |
ESA | 2 |
| 2013 | The Encoding Complexity of Two Dimensional Range Minimum Data StructuresabstractIn the two-dimensional range minimum query problem an input matrix A of dimension m × n , m ≤ n , has to be preprocessed into a data structure such that given a query rectangle within the matrix, the position of a minimum element within the query range can be reported. We consider the space complexity of the encoding variant of the problem where queries have access to the constructed data structure but can not access the input matrix A , i.e. all information must be encoded in the data structure. Previously it was known how to solve the problem with space O ( mn min { m ,log n }) bits (and with constant query time), but the best lower bound was Ω( mn log m ) bits, i.e. leaving a gap between the upper and lower bounds for non-quadratic matrices. We show that this space lower bound is optimal by presenting an encoding scheme using O ( mn log m ) bits. We do not consider query time. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Gerth Stølting Brodal, Andrej Brodnik, Pooya Davoodi |
ESA | 1 |
| 2013 | Efficient algorithms for computing the triplet and quartet distance between trees of arbitrary degreeabstractThe triplet and quartet distances are distance measures to compare two rooted and two unrooted trees, respectively. The leaves of the two trees should have the same set of n labels. The distances are defined by enumerating all subsets of three labels (triplets) and four labels (quartets), respectively, and counting how often the induced topologies in the two input trees are different. In this paper we present efficient algorithms for computing these distances. We show how to compute the triplet distance in time O(n log n) and the quartet distance in time O(dn log n), where d is the maximal degree of any node in the two trees. Within the same time bounds, our framework also allows us to compute the parameterized triplet and quartet distances, where a parameter is introduced to weight resolved (binary) topologies against unresolved (non-binary) topologies. The previous best algorithm for computing the triplet and parameterized triplet distances have O(n2) running time, while the previous best algorithms for computing the quartet distance include an O(d9n log n) time algorithm and an O(n2.688) time algorithm, where the latter can also compute the parameterized quartet distance. Since d ≤ n, our algorithms improve on all these algorithms. Gerth Stølting Brodal, Rolf Fagerberg, Thomas Mailund, Christian N. S. Pedersen, Andreas Sand |
SODA | 1 |
| 2013 | A practical O(n log2 n) time algorithm for computing the triplet distance on binary treesabstractThe triplet distance is a distance measure that compares two rooted trees on the same set of leaves by enumerating all sub-sets of three leaves and counting how often the induced topologies of the tree are equal or different. We present an algorithm that computes the triplet distance between two rooted binary trees in time O (n log2 n). The algorithm is related to an algorithm for computing the quartet distance between two unrooted binary trees in time O (n log n). While the quartet distance algorithm has a very severe overhead in the asymptotic time complexity that makes it impractical compared to O (n2) time algorithms, we show through experiments that the triplet distance algorithm can be implemented to give a competitive wall-time running time. Andreas Sand, Gerth Stølting Brodal, Rolf Fagerberg, Christian N. S. Pedersen, Thomas Mailund |
BMC Bioinform. | 2 |
| 2012 | Two Dimensional Range Minimum Queries and Fibonacci Lattices
Gerth Stølting Brodal, Pooya Davoodi, Moshe Lewenstein, Rajeev Raman, S. Srinivasa Rao 0001 |
ESA | 1 |
| 2012 | Finger Search in the Implicit Model
Gerth Stølting Brodal, Jesper Sindahl Nielsen, Jakob Truelsen |
ISAAC | 1 |
| 2012 | Fully persistent B-treesabstractWe present I/O-efficient fully persistent B-Trees that support range searches at any version in O(logB n + t/B) I/Os and updates at any version in O(logB n + log2 B) amortized I/Os, using space O(m/B) disk blocks. By n we denote the number of elements in the accessed version, by m the total number of updates, by t the size of the query's output, and by B the disk block size. The result improves the previous fully persistent B-Trees of Lanka and Mays by a factor of O(logB m) for the range query complexity and O(logB n) for the update complexity. To achieve the result, we first present a new B-Tree implementation that supports searches and updates in O(logB n) I/Os, using O(n/B) blocks of space. Moreover, every update makes in the worst case a constant number of modifications to the data structure. We make these B-Trees fully persistent using an I/O-efficient method for full persistence that is inspired by the node-splitting method of Driscoll et al. The method we present is interesting in its own right and can be applied to any external memory pointer based data structure with maximum in-degree din bounded by a constant and out-degree bounded by O(B), where every node occupies a constant number of blocks on disk. The I/O-overhead per modification to the ephemeral structure is O(din log2 B) amortized I/Os, and the space overhead is O(din/B) amortized blocks. Access to a field of an ephemeral block is supported in O(log2 din) worst case I/Os. Gerth Stølting Brodal, Konstantinos Tsakalidis, Spyros Sioutas, Kostas Tsichlas |
SODA | 1 |
| 2012 | Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set PropertyabstractIn this paper we present an implicit dynamic dictionary with the working-set property, supporting insert(e) and delete(e) in O(log n) time, predecessor(e) in O(log l_{p(e)}) time, successor(e) in O(log l_{s(e)}) time and search(e) in O(log min(l_{p(e)},l_{e}, l_{s(e)})) time, where n is the number of elements stored in the dictionary, l_{e} is the number of distinct elements searched for since element e was last searched for and p(e) and s(e) are the predecessor and successor of e, respectively. The time-bounds are all worst-case. The dictionary stores the elements in an array of size n using *no* additional space. In the cache-oblivious model the log is base B and the cache-obliviousness is due to our black box use of an existing cache-oblivious implicit dictionary. This is the first implicit dictionary supporting predecessor and successor searches in the working-set bound. Previous implicit structures required O(log n) time. Gerth Stølting Brodal, Casper Kejlberg-Rasmussen |
STACS | 1 |
| 2012 | Strict fibonacci heapsabstractWe present the first pointer-based heap implementation with time bounds matching those of Fibonacci heaps in the worst case. We support make-heap, insert, find-min, meld and decrease-key in worst-case O(1) time, and delete and delete-min in worst-case O(lg n) time, where n is the size of the heap. The data structure uses linear space. Gerth Stølting Brodal, George Lagogiannis, Robert E. Tarjan |
STOC | 1 |
| 2012 | External Memory Planar Point Location with Logarithmic Updates
Lars Arge, Gerth Stølting Brodal, S. Srinivasa Rao 0001 |
Algorithmica | 2 |
| 2012 | On Space Efficient Two Dimensional Range Minimum Data Structures
Gerth Stølting Brodal, Pooya Davoodi, S. Srinivasa Rao 0001 |
Algorithmica | 1 |
| 2011 | Dynamic Planar Range Maxima Queries
Gerth Stølting Brodal, Konstantinos Tsakalidis |
ICALP (1) | 1 |
| 2011 | Ordered and Unordered Top-K Range Reporting in Large Data SetsabstractWe study the following problem: Given an array A storing N real numbers, preprocess it to allow fast reporting of the K smallest elements in the subarray A[i, j] in sorted order, for any triple (i, j, K) with 1 ≤ i ≤ j ≤ N and 1 ≤ K ≤ j − i + 1. We are interested in scenarios where the array A is large, necessitating an I/O-efficient solution. For a parameter f with 1 ≤ f ≤ logm n, we construct a data structure that uses O((N/f) logm n) space and achieves a query bound of O(logB N + fK/B) I/Os,1 where B is the block size, M is the size of the main memory, n: = N/B, and m: = M/B. Our main contribution is to show that this solution is nearly optimal. To be precise, we show that achieving a query bound of O(logα n + fK/B) I/Os, for any constant α, requires space, assuming B = Ω(log N). For M ≥ B1+ε, this is within a log logm n factor of the upper bound. The lower bound assumes indivisibility of records and holds even if we assume K is always set to j − 1 + 1. We also show that it is the requirement that the K smallest elements be reported in sorted order which makes the problem hard. If the K smallest elements in the query range can be reported in any order, then we can obtain a linear-size data structure with a query bound of O(logB N + K/B) I/Os. Peyman Afshani, Gerth Stølting Brodal, Norbert Zeh |
SODA | 2 |
| 2011 | Integer Representations towards Efficient Counting in the Bit Probe ModelabstractWe consider the problem of representing numbers in close to optimal space and supporting increment, decrement, addition and subtraction operations efficiently. We study the problem in the bit probe model and analyse the number of bits read and written to perform the operations, both in the worst-case and in the average-case. A counter is space-optimal if it represents any number in the range [0,...,2 n − 1] using exactly n bits. We provide a space-optimal counter which supports increment and decrement operations by reading at most n − 1 bits and writing at most 3 bits in the worst-case. To the best of our knowledge, this is the first such representation which supports these operations by always reading strictly less than n bits. For redundant counters where we only need to represent numbers in the range [0,...,L] for some integer L < 2 n − 1 using n bits, we define the efficiency of the counter as the ratio between L + 1 and 2 n . We present various representations that achieve different trade-offs between the read and write complexities and the efficiency. We also give another representation of integers that uses n + O(logn ) bits to represent integers in the range [0,...,2 n − 1] that supports efficient addition and subtraction operations, improving the space complexity of an earlier representation by Munro and Rahman [Algorithmica, 2010]. Gerth Stølting Brodal, Mark Greve, Vineet Pandey, S. Srinivasa Rao 0001 |
TAMC | 1 |
| 2011 | Path Minima Queries in Dynamic Weighted Trees
Gerth Stølting Brodal, Pooya Davoodi, S. Srinivasa Rao 0001 |
WADS | 1 |
| 2011 | OnlineMin: A Fast Strongly Competitive Randomized Paging Algorithm
Gerth Stølting Brodal, Gabriel Moruz, Andrei Negoescu |
WAOA | 1 |
| 2011 | The Cost of Cache-Oblivious Searching
Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Dongdong Ge, Simai He, Haodong Hu, John Iacono, Alejandro López-Ortiz |
Algorithmica | 2 |
| 2011 | Towards optimal range medians
Gerth Stølting Brodal, Beat Gfeller, Allan Grønlund Jørgensen, Peter Sanders 0001 |
Theor. Comput. Sci. | 1 |
| 2010 | On Space Efficient Two Dimensional Range Minimum Data Structures
Gerth Stølting Brodal, Pooya Davoodi, S. Srinivasa Rao 0001 |
ESA (2) | 1 |
| 2010 | A Cache-Oblivious Implicit Dictionary with the Working Set Property
Gerth Stølting Brodal, Casper Kejlberg-Rasmussen, Jakob Truelsen |
ISAAC (2) | 1 |
| 2010 | D2-Tree: A New Overlay with Deterministic Bounds
Gerth Stølting Brodal, Spyros Sioutas, Kostas Tsichlas, Christos D. Zaroliagis |
ISAAC (2) | 1 |
| 2010 | Cache-Oblivious Dynamic Dictionaries with Update/Query TradeoffsabstractSeveral existing cache-oblivious dynamic dictionaries achieve O(logB N) (or slightly better memory transfers per operation, where N is the number of items stored, M is the memory size, and B is the block size, which matches the classic B-tree data structure. One recent structure achieves the same query bound and a sometimes-better amortized update bound of memory transfers. This paper presents a new data structure, the xDict, implementing predecessor queries in worst-case memory transfers and insertions and deletions in amortized memory transfers, for any constant ε with 0 < ε < 1. For example, the xDict achieves subconstant amortized update cost when N = M B°(B1−∊), whereas the B-tree's is subconstant only when N = o(MB), and the previously obtained is subconstant only when . The xDict attains the optimal tradeoff between insertions and queries, even in the broader external-memory model, for the range where inserts cost between and O(1/lg3 N) memory transfers. Gerth Stølting Brodal, Erik D. Demaine, Jeremy T. Fineman, John Iacono, Stefan Langerman, J. Ian Munro |
SODA | 1 |
| 2010 | Optimal Sparse Matrix Dense Vector Multiplication in the I/O-Model
Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Riko Jacob, Elias Vicari |
Theory Comput. Syst. | 2 |
| 2009 | Online Sorted Range Reporting
Gerth Stølting Brodal, Rolf Fagerberg, Mark Greve, Alejandro López-Ortiz |
ISAAC | 1 |
| 2009 | Data Structures for Range Median Queries
Gerth Stølting Brodal, Allan Grønlund Jørgensen |
ISAAC | 1 |
| 2009 | Counting in the Presence of Memory Faults
Gerth Stølting Brodal, Allan Grønlund Jørgensen, Gabriel Moruz, Thomas Mølhave |
ISAAC | 1 |
| 2009 | Dynamic 3-Sided Planar Range Queries with Expected Doubly Logarithmic Time
Gerth Stølting Brodal, Alexis C. Kaporis, Spyros Sioutas, Konstantinos Tsakalidis, Kostas Tsichlas |
ISAAC | 1 |
| 2009 | Fault Tolerant External Memory Algorithms
Gerth Stølting Brodal, Allan Grønlund Jørgensen, Thomas Mølhave |
WADS | 1 |
| 2008 | External memory planar point location with logarithmic updatesabstractPoint location is an extremely well-studied problem both in internal memory models and recently also in the external memory model. In this paper, we present an I/O-efficient dynamic data structure for point location in general planar subdivisions. Our structure uses linear space to store a subdivision with N segments. Insertions and deletions of segments can be performed in amortized O(logB N) I/Os and queries can be answered in O(logB2 N) I/Os in the worst-case. The previous best known linear space dynamic structure also answers queries in O(logB2 N) I/Os, but only supports insertions in amortized O(logB2 N) I/Os. Our structure is also considerably simpler than previous structures. Lars Arge, Gerth Stølting Brodal, S. Srinivasa Rao 0001 |
SCG | 2 |
| 2008 | Selecting Sums in Arrays
Gerth Stølting Brodal, Allan Grønlund Jørgensen |
ISAAC | 1 |
| 2007 | Computing the All-Pairs Quartet Distance on a Set of Evolutionary Trees
Martin Stig Stissing, Thomas Mailund, Christian N. S. Pedersen, Gerth Stølting Brodal, Rolf Fagerberg |
APBC | 4 |
| 2007 | Computing the Quartet Distance Between Evolutionary Trees of Bounded Degree
Martin Stig Stissing, Christian N. S. Pedersen, Thomas Mailund, Gerth Stølting Brodal, Rolf Fagerberg |
APBC | 4 |
| 2007 | Optimal Resilient Dynamic Dictionaries
Gerth Stølting Brodal, Rolf Fagerberg, Irene Finocchi, Fabrizio Grandoni 0001, Giuseppe F. Italiano, Allan Grønlund Jørgensen, Gabriel Moruz, Thomas Mølhave |
ESA | 1 |
| 2007 | Dynamic Matchings in Convex Bipartite Graphs
Gerth Stølting Brodal, Loukas Georgiadis, Kristoffer Arnsfelt Hansen, Irit Katriel |
MFCS | 1 |
| 2007 | A Linear Time Algorithm for the k Maximal Sums Problem
Gerth Stølting Brodal, Allan Grønlund Jørgensen |
MFCS | 1 |
| 2007 | Optimal sparse matrix dense vector multiplication in the I/O-modelabstractWe analyze the problem of sparse-matrix dense-vector multiplication (SpMV) in the I/O-model. The task of SpMV is to compute y := Ax, where A is a sparse N x N matrix and x and y are vectors. Here, sparsity is expressed by the parameter k that states that A has a total of at most kN nonzeros, i.e., an average number of k nonzeros per column. The extreme choices for parameter k are well studied special cases, namely for k=1 permuting and for k=N dense matrix-vector multiplication. Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Riko Jacob, Elias Vicari |
SPAA | 2 |
| 2006 | Faster Algorithms for Computing Longest Common Increasing SubsequencesabstractWe present algorithms for finding a longest common increasing subsequence of two or more input sequences. For two sequences of lengths m and n, where m≥n, we present an algorithm with an output-dependent expected running time of $O((m+n\ell) \log\log \sigma + {\ensuremath{\mathit{Sort}}})$ and O(m) space, where ℓ is the length of an LCIS, σ is the size of the alphabet, and ${\ensuremath{\mathit{Sort}}}$ is the time to sort each input sequence. For k≥3 length-n sequences we present an algorithm which improves the previous best bound by more than a factor k for many inputs. In both cases, our algorithms are conceptually quite simple but rely on existing sophisticated data structures. Finally, we introduce the problem of longest common weakly-increasing (or non-decreasing) subsequences (LCWIS), for which we present an O(m+nlogn)-time algorithm for the 3-letter alphabet case. For the extensively studied longest common subsequence problem, comparable speedups have not been achieved for small alphabets. Gerth Stølting Brodal, Kanela Kaligosi, Irit Katriel, Martin Kutz |
CPM | 1 |
| 2006 | Skewed Binary Search Trees
Gerth Stølting Brodal, Gabriel Moruz |
ESA | 1 |
| 2006 | Purely Functional Worst Case Constant Time Catenable Sorted Lists
Gerth Stølting Brodal, Christos Makris 0001, Kostas Tsichlas |
ESA | 1 |
| 2006 | Improved Dynamic Planar Point LocationabstractWe develop the first linear-space data structures for dynamic planar point location in general subdivisions that achieve logarithmic query time and poly-logarithmic update time Lars Arge, Gerth Stølting Brodal, Loukas Georgiadis |
FOCS | 2 |
| 2006 | Cache-oblivious string dictionaries
Gerth Stølting Brodal, Rolf Fagerberg |
SODA | 1 |
| 2006 | Recrafting the neighbor-joining methodabstractBACKGROUND: The neighbor-joining method by Saitou and Nei is a widely used method for constructing phylogenetic trees. The formulation of the method gives rise to a canonical Theta(n3) algorithm upon which all existing implementations are based. RESULTS: In this paper we present techniques for speeding up the canonical neighbor-joining method. Our algorithms construct the same phylogenetic trees as the canonical neighbor-joining method. The best-case running time of our algorithms are O(n2) but the worst-case remains O(n3). We empirically evaluate the performance of our algoritms on distance matrices obtained from the Pfam collection of alignments. The experiments indicate that the running time of our algorithms evolve as Theta(n2) on the examined instance collection. We also compare the running time with that of the QuickTree tool, a widely used efficient implementation of the canonical neighbor-joining method. CONCLUSION: The experiments show that our algorithms also yield a significant speed-up, already for medium sized instances. Thomas Mailund, Gerth Stølting Brodal, Rolf Fagerberg, Christian N. S. Pedersen, Derek Phillips |
BMC Bioinform. | 2 |
| 2005 | Cache-oblivious planar orthogonal range searching and countingabstractWe present the first cache-oblivious data structure for planar orthogonal range counting, and improve on previous results for cache-oblivious planar orthogonal range searching.Our range counting structure uses O(N log2 N) space and answers queries using O(logB N) memory transfers, where B is the block size of any memory level in a multilevel memory hierarchy. Using bit manipulation techniques, the space can be further reduced to O(N). The structure can also be modified to support more general semigroup range sum queries in O(logB N) memory transfers, using O(N log2 N) space for three-sided queries and O(N log22 N/log2 log2 N) space for four-sided queries.Based on the O(N log N) space range counting structure, we develop a data structure that uses O(N log2 N) space and answers three-sided range queries in O(logB N+T/B) memory transfers, where T is the number of reported points. Based on this structure, we present a general four-sided range searching structure that uses O(N log22 N/log2 log2 N) space and answers queries in O(logB N + T/B) memory transfers. Lars Arge, Gerth Stølting Brodal, Rolf Fagerberg, Morten Laustsen |
SCG | 2 |
| 2005 | Cache-Aware and Cache-Oblivious Adaptive Sorting
Gerth Stølting Brodal, Rolf Fagerberg, Gabriel Moruz |
ICALP | 1 |
| 2005 | Tradeoffs Between Branch Mispredictions and Comparisons for Sorting Algorithms
Gerth Stølting Brodal, Gabriel Moruz |
WADS | 1 |
| 2005 | Fast allocation and deallocation with an improved buddy system
Gerth Stølting Brodal, Erik D. Demaine, J. Ian Munro |
Acta Informatica | 1 |
| 2004 | Computing the Quartet Distance between Evolutionary Trees in Time O(n log n)
Gerth Stølting Brodal, Rolf Fagerberg, Christian N. S. Pedersen |
Algorithmica | 1 |
| 2003 | The Cost of Cache-Oblivious SearchingabstractTight bounds on the cost of cache-oblivious searching are proved. It is shown that no cache-oblivious search structure can guarantee that a search performs fewer than lg e log/sub B/N block transfers between any two levels of the memory hierarchy. This lower bound holds even if all of the block sizes are limited to be powers of 2. A modified version of the van Emde Boas layout is proposed, whose expected block transfers between any two levels of the memory hierarchy arbitrarily close to [lg e + O(lg lg B/ lgB)] logB N + O(1). This factor approaches lg e /spl ap/ 1.443 as B increases. The expectation is taken over the random placement of the first element of the structure in memory. As searching in the disk access model (DAM) can be performed in log/sub B/N + 1 block transfers, this result shows a separation between the 2-level DAM and cache-oblivious memory-hierarchy models. By extending the DAM model to k levels, multilevel memory hierarchies can be modeled. It is shown that as k grows, the search costs of the optimal k-level DAM search structure and of the optimal cache-oblivious search structure rapidly converge. This demonstrates that for a multilevel memory hierarchy, a simple cache-oblivious structure almost replicates the performance of an optimal parameterized k-level DAM structure. Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Dongdong Ge, Simai He, Haodong Hu, John Iacono, Alejandro López-Ortiz |
FOCS | 2 |
| 2003 | Lower bounds for external memory dictionaries
Gerth Stølting Brodal, Rolf Fagerberg |
SODA | 1 |
| 2003 | On the limits of cache-obliviousnessabstractIn this paper, we present lower bounds for permuting and sorting in the cache-oblivious model. We prove that (1) I/O optimal cache-oblivious comparison based sorting is not possible without a tall cache assumption, and (2) there does not exist an I/O optimal cache-oblivious algorithm for permuting, not even in the presence of a tall cache assumption.Our results for sorting show the existence of an inherent trade-off in the cache-oblivious model between the strength of the tall cache assumption and the overhead for the case M » B, and show that Funnelsort and recursive binary mergesort are optimal algorithms in the sense that they attain this trade-off. Gerth Stølting Brodal, Rolf Fagerberg |
STOC | 1 |
| 2003 | Computing Refined Buneman Trees in Cubic Time
Gerth Stølting Brodal, Rolf Fagerberg, Anna Pagh, Christian N. S. Pedersen, S. Srinivasa Rao 0001 |
WABI | 1 |
| 2003 | Optimal finger search trees in the pointer machine
Gerth Stølting Brodal, George Lagogiannis, Christos Makris 0001, Athanasios K. Tsakalidis, Kostas Tsichlas |
J. Comput. Syst. Sci. | 1 |
| 2002 | Dynamic Planar Convex HullabstractIn this paper we determine the computational complexity of the dynamic convex hull problem in the planar case. We present a data structure that maintains a finite set of n points in the plane under insertion and deletion of points in amortized O(log n) time per operation. The space usage of the data structure is O(n). The data structure supports extreme point queries in a given direction, tangent queries through a given point, and queries for the neighboring points on the convex hull in O(log n) time. The extreme point queries can be used to decide whether or not a given line intersects the convex hull, and the tangent queries to determine whether a given point is inside the convex hull. We give a lower bound on the amortized asymptotic time complexity that matches the performance of this data structure. Gerth Stølting Brodal, Riko Jacob |
FOCS | 1 |
| 2002 | Cache Oblivious Distribution Sweeping
Gerth Stølting Brodal, Rolf Fagerberg |
ICALP | 1 |
| 2002 | Solving the String Statistics Problem in Time O(n log n)
Gerth Stølting Brodal, Rune B. Lyngsø, Anna Pagh, Christian N. S. Pedersen |
ICALP | 1 |
| 2002 | Funnel Heap - A Cache Oblivious Priority Queue
Gerth Stølting Brodal, Rolf Fagerberg |
ISAAC | 1 |
| 2002 | Cache oblivious search trees via binary trees of small height
Gerth Stølting Brodal, Rolf Fagerberg, Riko Jacob |
SODA | 1 |
| 2002 | Optimal finger search trees in the pointer machineabstractWe develop a new finger search tree with worst-case constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years while many attempts by researchers were made to solve it. The result comes as a consequence of the innovative mechanism that guides the rebalancing operations combined with incremental multiple splitting and fusion techniques over nodes. Gerth Stølting Brodal, George Lagogiannis, Christos Makris 0001, Athanasios K. Tsakalidis, Kostas Tsichlas |
STOC | 1 |
| 2002 | Optimal Solutions for the Temporal Precedence Problem
Gerth Stølting Brodal, Christos Makris 0001, Spyros Sioutas, Athanasios K. Tsakalidis, Kostas Tsichlas |
Algorithmica | 1 |
| 2001 | The Complexity of Constructing Evolutionary Trees Using Experiments
Gerth Stølting Brodal, Rolf Fagerberg, Christian N. S. Pedersen, Anna Pagh |
ICALP | 1 |
| 2001 | Computing the Quartet Distance between Evolutionary Trees in Time O(n log2 n)
Gerth Stølting Brodal, Rolf Fagerberg, Christian N. S. Pedersen |
ISAAC | 1 |
| 2001 | Optimal static range reporting in one dimensionabstractWe consider static one dimensional range searching problems. These problems are to build static data structures for an integer set S \subseteq U, where U = \{0,1,\dots,2^w-1\}, which support various queries for integer intervals of U. For the query of reporting all integers in S contained within a query interval, we present an optimal data structure with linear space cost and with query time linear in the number of integers reported. This result holds in the unit cost RAM model with word size w and a standard instruction set. We also present a linear space data structure for approximate range counting. A range counting query for an interval returns the number of integers in S contained within the interval. For any constant ε>0, our range counting data structure returns in constant time an approximate answer which is within a factor of at most 1+ε of the correct answer. Stephen Alstrup, Gerth Stølting Brodal, Theis Rauhe |
STOC | 2 |
| 2001 | Comparator networks for binary heap construction
Gerth Stølting Brodal, Maria Cristina Pinotti |
Theor. Comput. Sci. | 1 |
| 2000 | Finding Maximal Quasiperiodicities in Strings
Gerth Stølting Brodal, Christian N. S. Pedersen |
CPM | 1 |
| 2000 | New Data Structures for Orthogonal Range SearchingabstractWe present new general techniques for static orthogonal range searching problems in two and higher dimensions. For the general range reporting problem in R/sup 3/, we achieve query time O(log n+k) using space O(n log/sup 1+/spl epsiv// n), where n denotes the number of stored points and k the number of points to be reported. For the range reporting problem on an n/spl times/n grid, we achieve query time O(log log n+k) using space O(n log/sup /spl epsiv// n). For the two-dimensional semi-group range sum problem we achieve query time O(log n) using space O(n log n). Stephen Alstrup, Gerth Stølting Brodal, Theis Rauhe |
FOCS | 2 |
| 2000 | Pattern matching in dynamic texts
Stephen Alstrup, Gerth Stølting Brodal, Theis Rauhe |
SODA | 2 |
| 2000 | Improved bounds for dictionary look-up with one error
Gerth Stølting Brodal, S. Venkatesh 0001 |
Inf. Process. Lett. | 1 |
| 1999 | Finding Maximal Pairs with Bounded GapabstractA pair in a string is the occurrence of the same substring twice. A pair is maximal if the two occurrences of the substring cannot be extended to the left and right without making them different. The gap of a pair is the number of characters between the two occurrences of the substring. In this paper we present methods for finding all maximal pairs under various constraints on the gap. In a string of length n we can find all maximal pairs with gap in an upper and lower bounded interval in time O(n log n + z) where z is the number of reported pairs. If the upper bound is removed the time reduces to O(n+z). Since a tandem repeat is a pair where the gap is zero, our methods can be seen as a generalization of finding tandem repeats. The running time of our methods equals the running time of well known methods for finding tandem repeats. Gerth Stølting Brodal, Rune B. Lyngsø, Christian N. S. Pedersen, Jens Stoye |
CPM | 1 |
| 1999 | I/O-Efficient Dynamic Point Location in Monotone Planar Subdivisions
Pankaj K. Agarwal, Lars Arge, Gerth Stølting Brodal, Jeffrey Scott Vitter |
SODA | 3 |
| 1999 | Dynamic Representation of Sparse Graphs
Gerth Stølting Brodal, Rolf Fagerberg |
WADS | 1 |
| 1999 | Priority queues on parallel machines
Gerth Stølting Brodal |
Parallel Comput. | 1 |
| 1998 | Finger Search Trees with Constant Insertion Time
Gerth Stølting Brodal |
SODA | 1 |
| 1998 | A Parallel Priority Queue with Constant Time Operations
Gerth Stølting Brodal, Jesper Larsson Träff, Christos D. Zaroliagis |
J. Parallel Distributed Comput. | 1 |
| 1997 | Predecessor Queries in Dynamic Integer Sets
Gerth Stølting Brodal |
STACS | 1 |
| 1996 | Approximate Dictionary Queries
Gerth Stølting Brodal, Leszek Gasieniec |
CPM | 1 |
| 1996 | Worst-Case Efficient Priority Queues
Gerth Stølting Brodal |
SODA | 1 |
| 1996 | Optimal Purely Functional Priority QueuesabstractAbstract Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert and meld in O (1) worst-case time, and deleteMin in O (log n ) worst-case time. These bounds are asymptotically optimal among all comparison-based priority queues. In this paper, we adapt Brodal's data structure to a purely functional setting. In doing so, we both simplify the data structure and clarify its relationship to the binomial queues of Vuillemin, which support all four operations in O (log n ) time. Specifically, we derive our implementation from binomial queues in three steps: first, we reduce the running time of insert to O (1) by eliminating the possibility of cascading links; second, we reduce the running time of findMin to O (1) by adding a global root to hold the minimum element; and finally, we reduce the running time of meld to O (1) by allowing priority queues to contain other priority queues. Each of these steps is expressed using ML-style functors. The last transformation, known as data-structural bootstrapping, is an interesting application of higher-order functors and recursive structures. Gerth Stølting Brodal, Chris Okasaki |
J. Funct. Program. | 1 |
| 1995 | Fast Meldable Priority Queues
Gerth Stølting Brodal |
WADS | 1 |