English
Related papers

Related papers: SimdQuickHeap: The QuickHeap Reconsidered

200 papers

We give a priority queue that achieves the same amortized bounds as Fibonacci heaps. Namely, find-min requires O(1) worst-case time, insert, meld and decrease-key require O(1) amortized time, and delete-min requires $O(\log n)$ amortized…

Data Structures and Algorithms · Computer Science 2010-02-11 Amr Elmasry

We present a new connection between self-adjusting binary search trees (BSTs) and heaps, two fundamental, extensively studied, and practically relevant families of data structures. Roughly speaking, we map an arbitrary heap algorithm within…

Data Structures and Algorithms · Computer Science 2019-01-01 László Kozma , Thatchaphol Saranurak

Priority queues are one of the most fundamental and widely used data structures in computer science. Their primary objective is to efficiently support the insertion of new elements with assigned priorities and the extraction of the highest…

Data Structures and Algorithms · Computer Science 2024-11-19 Ziyad Benomar , Christian Coester

Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step $k$ pivots are used to split the input into $k + 1$ segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a…

Data Structures and Algorithms · Computer Science 2016-06-01 Martin Aumüller , Martin Dietzfelbinger , Pascal Klaue

Designing and implementing efficient parallel priority schedulers is an active research area. An intriguing proposed design is the Multi-Queue: given $n$ threads and $m\ge n$ distinct priority queues, task insertions are performed uniformly…

Data Structures and Algorithms · Computer Science 2021-09-03 Anastasiia Postnikova , Nikita Koval , Giorgi Nadiradze , Dan Alistarh

A heap is a dynamic data structure that stores a set of labeled values under the following operations: pop returns the minimum value of the heap, Push($x_i$) pushes a new value $x_i$ onto the heap, and DecreaseKey($i$, $v$) decreases the…

Data Structures and Algorithms · Computer Science 2026-04-28 Ivor van der Hoog , John Iacono , Eva Rotenberg , Daniel Rutschmann

Applications often require a fast, single-threaded search algorithm over sorted data, typical in table-lookup operations. We explore various search algorithms for a large number of search candidates over a relatively small array of…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-12-09 Benjamin Mastripolito , Nicholas Koskelo , Dylan Weatherred , David A. Pimentel , Daniel Sheppard , Anna Pietarila Graham , Laura Monroe , Robert Robey

This paper presents PIPQ, a strict and linearizable concurrent priority queue whose design differs from existing solutions in literature because it focuses on enabling parallelism of insert operations as opposed to accelerating delete-min…

Data Structures and Algorithms · Computer Science 2025-08-25 Olivia Grimes , Ahmed Hassan , Panagiota Fatourou , Roberto Palmieri

Bit arrays, or bitmaps, are used to significantly speed up set operations in several areas, such as data warehousing, information retrieval, and data mining, to cite a few. However, bitmaps usually use a large storage space, thus requiring…

Data Structures and Algorithms · Computer Science 2015-03-14 Alessandro Colantonio , Roberto Di Pietro

Large-scale timers are ubiquitous in network processing, including flow table entry expiration control in software defined network (SDN) switches, MAC address aging in Ethernet bridges, and retransmission timeout management in TCP/IP…

Networking and Internet Architecture · Computer Science 2025-08-15 Zekun Wang , Binghao Yue , Weitao Pan , Jiangyi Shi , Yue Hao

We consider the classical problem of representing a collection of priority queues under the operations \Findmin{}, \Insert{}, \Decrease{}, \Meld{}, \Delete{}, and \Deletemin{}. In the comparison-based model, if the first four operations are…

Data Structures and Algorithms · Computer Science 2011-12-06 Amr Elmasry , Jyrki Katajainen

A lot of recent progress has been made in ultra low-bit quantization, promising significant improvements in latency, memory footprint and energy consumption on edge devices. Quantization methods such as Learned Step Size Quantization can…

Many task-parallel applications can benefit from attempting to execute tasks in a specific order, as for instance indicated by priorities associated with the tasks. We present three lock-free data structures for priority scheduling with…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-10 Martin Wimmer , Daniel Cederman , Francesco Versaci , Jesper Larsson Träff , Philippas Tsigas

We consider space-bounded computations on a random-access machine (RAM) where the input is given on a read-only random-access medium, the output is to be produced to a write-only sequential-access medium, and the available workspace allows…

Data Structures and Algorithms · Computer Science 2015-10-27 Omar Darwish , Amr Elmasry , Jyrki Katajainen

Computing-in-Memory (CIM) architectures have emerged as a promising solution for accelerating Deep Neural Networks (DNNs) by mitigating data movement bottlenecks. However, realizing the potential of CIM requires specialized dataflow…

Hardware Architecture · Computer Science 2025-10-31 Xiaolin He , Cenlin Duan , Yingjie Qi , Xiao Ma , Jianlei Yang

The prefix sum operation is a useful primitive with a broad range of applications. For database systems, it is a building block of many important operators including join, sort and filter queries. In this paper, we study different methods…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-12-25 Wangda Zhang , Yanbin Wang , Kenneth A. Ross

In this paper, a new and novel data structure is proposed to dynamically insert and delete segments. Unlike the standard segment trees[3], the proposed data structure permits insertion of a segment with interval range beyond the interval…

Computational Geometry · Computer Science 2015-01-15 K. S. Easwarakumar , T. Hema

Consider the following random process: we are given $n$ queues, into which elements of increasing labels are inserted uniformly at random. To remove an element, we pick two queues at random, and remove the element of lower label (higher…

Data Structures and Algorithms · Computer Science 2017-06-14 Dan Alistarh , Justin Kopinsky , Jerry Li , Giorgi Nadiradze

The two most prominent solutions for the sorting problem are Quicksort and Mergesort. While Quicksort is very fast on average, Mergesort additionally gives worst-case guarantees, but needs extra space for a linear number of elements.…

Data Structures and Algorithms · Computer Science 2018-11-05 Stefan Edelkamp , Armin Weiß

Semisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a \emph{key} per record, and reorders them so that…

Data Structures and Algorithms · Computer Science 2023-04-21 Xiaojun Dong , Yunshu Wu , Zhongqi Wang , Laxman Dhulipala , Yan Gu , Yihan Sun