English
Related papers

Related papers: Cache-Oblivious Priority Queues with Decrease-Key …

200 papers

A priority queue is a fundamental data structure that maintains a dynamic set of (key, priority)-pairs and supports Insert, Delete, ExtractMin and DecreaseKey operations. In the external memory model, the current best priority queue…

Data Structures and Algorithms · Computer Science 2018-06-21 Shunhua Jiang , Kasper Green Larsen

One of the biggest open problems in external memory data structures is the priority queue problem with DecreaseKey operations. If only Insert and ExtractMin operations need to be supported, one can design a comparison-based priority queue…

Data Structures and Algorithms · Computer Science 2016-11-04 Kasper Eenberg , Kasper Green Larsen , Huacheng Yu

In recent years the Cache-Oblivious model of external memory computation has provided an attractive theoretical basis for the analysis of algorithms on massive datasets. Much progress has been made in discovering algorithms that are…

Data Structures and Algorithms · Computer Science 2008-02-08 Benjamin Sach , Raphaël Clifford

Priority queues are fundamental data structures with widespread applications in various domains, including graph algorithms and network simulations. Their performance critically impacts the overall efficiency of these algorithms.…

Data Structures and Algorithms · Computer Science 2023-11-27 Kiarash Parvizi

We present an optimal partially-persistent external-memory search tree with amortized I/O bounds matching those achieved by the non-persistent $B^{\varepsilon}$-tree by Brodal and Fagerberg [SODA 2003]. In a partially-persistent data…

Data Structures and Algorithms · Computer Science 2025-03-12 Gerth Stølting Brodal , Casper Moldrup Rysgaard , Rolf Svenning

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

Oblivious RAM (ORAM) is a well-researched primitive to hide the memory access pattern of a RAM computation; it has a variety of applications in trusted computing, outsourced storage, and multiparty computation. In this paper, we study the…

Data Structures and Algorithms · Computer Science 2024-12-16 Thore Thießen , Jan Vahrenhold

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 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 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

Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Irina Calciu , Hammurabi Mendes , Maurice Herlihy

Priority queues are data structures which store keys in an ordered fashion to allow efficient access to the minimal (maximal) key. Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm,…

Data Structures and Algorithms · Computer Science 2015-03-20 Martin Wimmer , Jakob Gruber , Jesper Larsson Träff , Philippas Tsigas

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 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

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 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

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

A priority queue is a fundamental data structure that maintains a dynamic ordered set of keys and supports the followig basic operations: insertion of a key, deletion of a key, and finding the smallest key. The complexity of the priority…

Data Structures and Algorithms · Computer Science 2012-07-19 Zhewei Wei , Ke Yi

We propose a general data structure CORoBTS for storing B-tree-like search trees dynamically in a cache-oblivious way combining the van Emde Boas memory layout with packed memory array. In the use of the vEB layout mostly search complexity…

Data Structures and Algorithms · Computer Science 2024-10-02 Lukáš Ondráček , Ondřej Mička

The $B^{\epsilon}$-tree [Brodal and Fagerberg 2003] is a simple I/O-efficient external-memory-model data structure that supports updates orders of magnitude faster than B-tree with a query performance comparable to the B-tree: for any…

Data Structures and Algorithms · Computer Science 2022-11-14 Rathish Das , John Iacono , Yakov Nekrich
‹ Prev 1 2 3 10 Next ›