English
Related papers

Related papers: Cache-Oblivious Selection in Sorted X+Y Matrices

200 papers

In this paper we consider sorting in the cache-oblivious model of Frigo, Leiserson, Prokop, and Ramachandran (1999). We introduce a new simple sorting algorithm in that model which has asymptotically optimal IO complexity $O(\frac{n}{B}…

Data Structures and Algorithms · Computer Science 2024-07-23 Michal Koucký , Josef Matějka

We use soft heaps to obtain simpler optimal algorithms for selecting the $k$-th smallest item, and the set of~$k$ smallest items, from a heap-ordered tree, from a collection of sorted lists, and from $X+Y$, where $X$ and $Y$ are two…

Data Structures and Algorithms · Computer Science 2018-02-21 Haim Kaplan , László Kozma , Or Zamir , Uri Zwick

We present data-oblivious algorithms in the external-memory model for compaction, selection, and sorting. Motivation for such problems comes from clients who use outsourced data storage services and wish to mask their data access patterns.…

Data Structures and Algorithms · Computer Science 2011-03-29 Michael T. Goodrich

While a lot of work in theoretical computer science has gone into optimizing the runtime and space usage of data structures, such work very often neglects a very important component of modern computers: the cache. In doing so, very often,…

Data Structures and Algorithms · Computer Science 2019-07-04 Jeffrey Barratt , Brian Zhang

We present two cache-oblivious sorting-based convex hull algorithms in the Binary Forking Model. The first is an algorithm for a presorted set of points which achieves $O(n)$ work, $O(\log n)$ span, and $O(n/B)$ serial cache complexity,…

Data Structures and Algorithms · Computer Science 2023-07-18 Reilly Browne , Rezaul Chowdhury , Shih-Yu Tsai , Yimin Zhu

We propose a conceptually simple oblivious sort and oblivious random permutation algorithms called bucket oblivious sort and bucket oblivious random permutation. Bucket oblivious sort uses $6n\log n$ time (measured by the number of memory…

Data Structures and Algorithms · Computer Science 2021-04-30 Gilad Asharov , T-H. Hubert Chan , Kartik Nayak , Rafael Pass , Ling Ren , Elaine Shi

Given string $S[1..N]$ and integer $k$, the {\em suffix selection} problem is to determine the $k$th lexicographically smallest amongst the suffixes $S[i... N]$, $1 \leq i \leq N$. We study the suffix selection problem in the cache-aware…

Data Structures and Algorithms · Computer Science 2009-02-11 Gianni Franceschini , Roberto Grossi , S. Muthukrishnan

A mesh is a graph that divides physical space into regularly-shaped regions. Meshes computations form the basis of many applications, e.g. finite-element methods, image rendering, and collision detection. In one important mesh primitive,…

Data Structures and Algorithms · Computer Science 2009-10-05 Michael A. Bender , Bradley C. Kuszmaul , Shang-Hua Teng , Kebin Wang

We present priority queues in the cache-oblivious external memory model with block size $B$ and main memory size $M$ that support on $N$ elements, operation \textsc{UPDATE} (combination of \textsc{INSERT} and \textsc{DECREASEKEY}) in $O…

Data Structures and Algorithms · Computer Science 2020-08-05 John Iacono , Riko Jacob , Konstantinos Tsakalidis

In the multiple-selection problem one is given an unsorted array $S$ of $N$ elements and an array of $q$ query ranks $r_1<\cdots<r_q$, and the task is to return, in sorted order, the $q$ elements in $S$ of rank $r_1, \ldots, r_q$,…

Data Structures and Algorithms · Computer Science 2024-02-28 Gerth Stølting Brodal , Sebastian Wild

Frigo et al. proposed an ideal cache model and a recursive technique to design sequential cache-efficient algorithms in a cache-oblivious fashion. Ballard et al. pointed out that it is a fundamental open problem to extend the technique to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-04 Yuan Tang , Weiguo Gao

In many applications, it is of interest to approximate data, given by mxn matrix A, by a matrix B of at most rank k, which is much smaller than m and n. The best approximation is given by singular value decomposition, which is too time…

Numerical Analysis · Mathematics 2007-05-23 Shmuel Friedland , Mostafa Kaveh , Amir Niknejad , Hossein Zare

In an array of N elements, M positions and M elements are "marked". We show how to permute the elements in the array so that all marked elements end in marked positions, in time O(N) (in the standard word-RAM model), deterministically, and…

Data Structures and Algorithms · Computer Science 2018-07-19 Enoch Peserico

We consider the problem of laying out a tree with fixed parent/child structure in hierarchical memory. The goal is to minimize the expected number of block transfers performed during a search along a root-to-leaf path, subject to a given…

Data Structures and Algorithms · Computer Science 2007-05-23 Stephen Alstrup , Michael A. Bender , Erik D. Demaine , Martin Farach-Colton , Theis Rauhe , Mikkel Thorup

We show that several versions of Floyd and Rivest's algorithm Select for finding the $k$th smallest of $n$ elements require at most $n+\min\{k,n-k\}+o(n)$ comparisons on average and with high probability. This rectifies the analysis of…

Data Structures and Algorithms · Computer Science 2007-05-23 Krzysztof C. Kiwiel

We show that several versions of Floyd and Rivest's algorithm Select for finding the $k$th smallest of $n$ elements require at most $n+\min\{k,n-k\}+o(n)$ comparisons on average and with high probability. This rectifies the analysis of…

Data Structures and Algorithms · Computer Science 2007-05-23 Krzysztof C. Kiwiel

Selection on the Cartesian product is a classic problem in computer science. Recently, an optimal algorithm for selection on $X+Y$, based on soft heaps, was introduced. By combining this approach with layer-ordered heaps (LOHs), an…

Data Structures and Algorithms · Computer Science 2020-08-18 Patrick Kreitzberg , Kyle Lucke , Jake Pennington , Oliver Serang

Classic cache-oblivious parallel matrix multiplication algorithms achieve optimality either in time or space, but not both, which promotes lots of research on the best possible balance or tradeoff of such algorithms. We study modern…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-14 Yuan Tang

Selection and sorting the Cartesian sum, $X+Y$, are classic and important problems. Here, a new algorithm is presented, which generates the top $k$ values of the form $X_i+Y_j$. The algorithm relies only on median-of-medians and is simple…

Data Structures and Algorithms · Computer Science 2020-10-07 Oliver Serang

We investigate effects of ordering in blocked matrix--matrix multiplication. We find that submatrices do not have to be stored contiguously in memory to achieve near optimal performance. Instead it is the choice of execution order of the…

Data Structures and Algorithms · Computer Science 2008-08-15 Nicolas Bock , Emanuel H. Rubensson , Paweł Sałek , Anders M. N. Niklasson , Matt Challacombe
‹ Prev 1 2 3 10 Next ›