English
Related papers

Related papers: SquareSort: a cache-oblivious sorting algorithm

200 papers

Let X[0..n-1] and Y[0..m-1] be two sorted arrays, and define the mxn matrix A by A[j][i]=X[i]+Y[j]. Frederickson and Johnson gave an efficient algorithm for selecting the k-th smallest element from A. We show how to make this algorithm…

Data Structures and Algorithms · Computer Science 2008-04-08 Mark de Berg , Shripad Thite

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 an $O(N\cdot M)$ sorting algorithm by Machine Learning method, which shows a huge potential sorting big data. This sorting algorithm can be applied to parallel sorting and is suitable for GPU or TPU acceleration. Furthermore, we…

Machine Learning · Computer Science 2018-08-16 Hanqing Zhao , Yuehan Luo

In this paper, we describe randomized Shellsort--a simple, randomized, data-oblivious version of the Shellsort algorithm that always runs in O(n log n) time and, as we show, succeeds in sorting any given input permutation with very high…

Data Structures and Algorithms · Computer Science 2015-03-13 Michael T. Goodrich

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

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

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

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

We consider the well-known problem of enumerating all triangles of an undirected graph. Our focus is on determining the input/output (I/O) complexity of this problem. Let $E$ be the number of edges, $M<E$ the size of internal memory, and…

Data Structures and Algorithms · Computer Science 2014-03-25 Rasmus Pagh , Francesco Silvestri

Mergesort is one of the few efficient sorting algorithms and, despite being the oldest one, often still the method of choice today. In contrast to some alternative algorithms, it always runs efficiently using O(n log n) element comparisons…

Data Structures and Algorithms · Computer Science 2025-09-30 Christian Siebert

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

The problem of sorting with priced information was introduced by [Charikar, Fagin, Guruswami, Kleinberg, Raghavan, Sahai (CFGKRS), STOC 2000]. In this setting, different comparisons have different (potentially infinite) costs. The goal is…

Data Structures and Algorithms · Computer Science 2023-11-13 Mayank Goswami , Riko Jacob

Recently, many results on the computational complexity of sorting algorithms were obtained using Kolmogorov complexity (the incompressibility method). Especially, the usually hard average-case analysis is ammenable to this method. Here we…

Data Structures and Algorithms · Computer Science 2009-05-28 Paul M. B. Vitanyi

We describe and analyze Zig-zag Sort--a deterministic data-oblivious sorting algorithm running in O(n log n) time that is arguably simpler than previously known algorithms with similar properties, which are based on the AKS sorting network.…

Data Structures and Algorithms · Computer Science 2014-05-19 Michael T. Goodrich

We present a deterministic sorting algorithm, SPMS (Sample, Partition, and Merge Sort), that interleaves the partitioning of a sample sort with merging. Sequentially, it sorts $n$ elements in $O(n \log n)$ time cache-obliviously with an…

Data Structures and Algorithms · Computer Science 2017-11-03 Richard Cole , Vijaya Ramachandran

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

We present a deterministic oblivious LIFO (Stack), FIFO, double-ended and double-ended priority queue as well as an oblivious mergesort and quicksort algorithm. Our techniques and ideas include concatenating queues end-to-end, size…

Data Structures and Algorithms · Computer Science 2016-12-13 Johannes Schneider

The original Leapfrogging Samplesort operates on a sorted sample of size $s$ and an unsorted part of size $s+1$. We generalize this to a sorted sample of size $s$ and an unsorted part of size $(2^k-1)(s+1)$, where $k = O(1)$. We present a…

Data Structures and Algorithms · Computer Science 2018-01-30 Eliezer A. Albacea
‹ Prev 1 2 3 10 Next ›