Source author record

Bryce Sandlund

Explore this author’s publications, collaborators and research topics. This catalog record has not been claimed by its author.

ResearcherUnclaimed source record

Catalog footprint

Research overview

5works
3topics
4close collaborators

Published work

5 publications

preprint2022arXiv

Selectable Heaps and Optimal Lazy Search Trees

We show the O(log⁡n)O(\log n) time extract minimum function of efficient priority queues can be generalized to the extraction of the kk smallest elements in O(klog⁡(n/k))O(k \log(n/k)) time (we define log⁡(x)\log(x) as max⁡(log⁡2(x),1)\max(\log_2(x), 1).), which we prove optimal for comparison-based priority queues with o(log⁡n)o(\log n) time insertion. We show heap-ordered tree selection (Kaplan et al., SOSA '19) can be applied on the heap-ordered trees of the classic Fibonacci heap and Brodal queue, in O(klog⁡(n/k))O(k \log(n/k)) amortized and worst-case time, respectively. We additionally show the deletion of kk elements or selection without extraction can be performed on both heaps, also in O(klog⁡(n/k))O(k \log(n/k)) time. Surprisingly, all operations are possible with no modifications to the original Fibonacci heap and Brodal queue data structures. We then apply the result to lazy search trees (Sandlund & Wild, FOCS '20), creating a new interval data structure based on selectable heaps. This gives optimal O(B+n)O(B+n) time lazy search tree performance, lowering insertion complexity into a gap ΔiΔ_i from O(log⁡(n/∣Δi∣)+log⁡log⁡n)O(\log(n/|Δ_i|) + \log \log n) to O(log⁡(n/∣Δi∣))O(\log(n/|Δ_i|)) time. An O(1)O(1) time merge operation is also made possible when used as a priority queue, among other situations. If Brodal queues are used, all runtimes of the lazy search tree can be made worst-case.

preprint2020arXiv

A Simple Algorithm for Minimum Cuts in Near-Linear Time

We consider the minimum cut problem in undirected, weighted graphs. We give a simple algorithm to find a minimum cut that 22-respects (cuts two edges of) a spanning tree TT of a graph GG. This procedure can be used in place of the complicated subroutine given in Karger's near-linear time minimum cut algorithm (J. ACM, 2000). We give a self-contained version of Karger's algorithm with the new procedure, which is easy to state and relatively simple to implement. It produces a minimum cut on an mm-edge, nn-vertex graph in O(mlog⁡3n)O(m \log^3 n) time with high probability, matching the complexity of Karger's approach.

preprint2020arXiv

Faster Dynamic Range Mode

In the dynamic range mode problem, we are given a sequence aa of length bounded by NN and asked to support element insertion, deletion, and queries for the most frequent element of a contiguous subsequence of aa. In this work, we devise a deterministic data structure that handles each operation in worst-case O~(N0.655994)\tilde{O}(N^{0.655994}) time, thus breaking the O(N2/3)O(N^{2/3}) per-operation time barrier for this problem. The data structure is achieved by combining the ideas in Williams and Xu (SODA 2020) for batch range mode with a novel data structure variant of the Min-Plus product.

preprint2020arXiv

Space-Efficient Data Structures for Lattices

A lattice is a partially-ordered set in which every pair of elements has a unique meet (greatest lower bound) and join (least upper bound). We present new data structures for lattices that are simple, efficient, and nearly optimal in terms of space complexity. Our first data structure can answer partial order queries in constant time and find the meet or join of two elements in O(n3/4)O(n^{3/4}) time, where nn is the number of elements in the lattice. It occupies O(n3/2log⁡n)O(n^{3/2}\log n) bits of space, which is only a Θ(log⁡n)Θ(\log n) factor from the Θ(n3/2)Θ(n^{3/2})-bit lower bound for storing lattices. The preprocessing time is O(n2)O(n^2). This structure admits a simple space-time tradeoff so that, for any c∈[12,1]c \in [\frac{1}{2}, 1], the data structure supports meet and join queries in O(n1−c/2)O(n^{1-c/2}) time, occupies O(n1+clog⁡n)O(n^{1+c}\log n) bits of space, and can be constructed in O(n2+n1+3c/2)O(n^2 + n^{1+3c/2}) time. Our second data structure uses O(n3/2log⁡n)O(n^{3/2}\log n) bits of space and supports meet and join in O(dlog⁡nlog⁡d)O(d \frac{\log n}{\log d}) time, where dd is the maximum degree of any element in the transitive reduction graph of the lattice. This structure is much faster for lattices with low-degree elements. This paper also identifies an error in a long-standing solution to the problem of representing lattices. We discuss the issue with this previous work.

preprint2016arXiv

Baby-Step Giant-Step Algorithms for the Symmetric Group

We study discrete logarithms in the setting of group actions. Suppose that GG is a group that acts on a set SS. When r,s∈Sr,s \in S, a solution g∈Gg \in G to rg=sr^g = s can be thought of as a kind of logarithm. In this paper, we study the case where G=SnG = S_n, and develop analogs to the Shanks baby-step / giant-step procedure for ordinary discrete logarithms. Specifically, we compute two sets A,B⊆SnA, B \subseteq S_n such that every permutation of SnS_n can be written as a product abab of elements a∈Aa \in A and b∈Bb \in B. Our deterministic procedure is optimal up to constant factors, in the sense that AA and BB can be computed in optimal asymptotic complexity, and ∣A∣|A| and ∣B∣|B| are a small constant from n!\sqrt{n!} in size. We also analyze randomized "collision" algorithms for the same problem.

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.