English
Related papers

Related papers: Fibonacci Heaps Revisited

200 papers

A Fibonacci heap is a deterministic data structure implementing a priority queue with optimal amortized operation costs. An unfortunate aspect of Fibonacci heaps is that they must maintain a "mark bit" which serves only to ensure efficiency…

Data Structures and Algorithms · Computer Science 2015-02-19 Jerry Li , John Peebles

We introduce the hollow heap, a very simple data structure with the same amortized efficiency as the classical Fibonacci heap. All heap operations except delete and delete-min take $O(1)$ time, worst case as well as amortized; delete and…

Data Structures and Algorithms · Computer Science 2015-10-23 Thomas Dueholm Hansen , Haim Kaplan , Robert E. Tarjan , Uri Zwick

The heap is a basic data structure used in a wide variety of applications, including shortest path and minimum spanning tree algorithms. In this paper we explore the design space of comparison-based, amortized-efficient heap…

Data Structures and Algorithms · Computer Science 2009-03-03 Bernhard Haeupler , Siddhartha Sen , Robert E. Tarjan

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

A lower bound is presented which shows that a class of heap algorithms in the pointer model with only heap pointers must spend Omega(log log n / log log log n) amortized time on the decrease-key operation (given O(log n) amortized-time…

Data Structures and Algorithms · Computer Science 2013-07-17 John Iacono

We study the selection problem, namely that of computing the $i$th order statistic of $n$ given elements. Here we offer a data structure called \emph{selectable sloppy heap} handling a dynamic version in which upon request: (i)~a new…

Data Structures and Algorithms · Computer Science 2017-08-11 Adrian Dumitrescu

The Fenwick tree is a classical implicit data structure that stores an array in such a way that modifying an element, accessing an element, computing a prefix sum and performing a predecessor search on prefix sums all take logarithmic time.…

Data Structures and Algorithms · Computer Science 2019-10-15 Stefano Marchini , Sebastiano Vigna

We are concentrating on reducing overhead of heaps based on comparisons with optimal worstcase behaviour. The paper is inspired by Strict Fibonacci Heaps [1], where G. S. Brodal, G. Lagogiannis, and R. E. Tarjan implemented the heap with…

Data Structures and Algorithms · Computer Science 2019-11-27 Vladan Majerech

We show the $O(\log n)$ time extract minimum function of efficient priority queues can be generalized to the extraction of the $k$ smallest elements in $O(k \log(n/k))$ time (we define $\log(x)$ as $\max(\log_2(x), 1)$.), which we prove…

Data Structures and Algorithms · Computer Science 2022-01-11 Bryce Sandlund , Lingyi Zhang

The pairing heap is a simple "self-adjusting" implementation of a heap (priority queue). Inserting an item into a pairing heap or decreasing the key of an item takes O(1) time worst-case, as does melding two heaps. But deleting an item of…

Data Structures and Algorithms · Computer Science 2022-08-26 Corwin Sinnamon , Robert Tarjan

Link-based data structures, such as linked lists and binary search trees, have many well-known rearrangement steps allowing for efficient implementations of insertion, deletion, and other operations. We describe a rearrangement primitive…

Data Structures and Algorithms · Computer Science 2012-03-02 Boris Alexeev , M. Brian Jacokes

Data compression has been widely applied in many data processing areas. Compression methods use variable-size codes with the shorter codes assigned to symbols or groups of symbols that appear in the data frequently. Fibonacci coding, as a…

Performance · Computer Science 2007-12-19 R. Baca , V. Snasel , J. Platos , M. Kratky , E. El-Qawasmeh

Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard…

Data Structures and Algorithms · Computer Science 2007-11-13 Loukas Georgiadis , Haim Kaplan , Nira Shafrir , Robert E. Tarjan , Renato F. Werneck

The pairing heap is a classical heap data structure introduced in 1986 by Fredman, Sedgewick, Sleator, and Tarjan. It is remarkable both for its simplicity and for its excellent performance in practice. The "magic" of pairing heaps lies in…

Data Structures and Algorithms · Computer Science 2018-06-22 Dani Dorfman , Haim Kaplan , László Kozma , Uri Zwick

This paper presents a new algorithm for the fast, shared memory, multi-core computation of augmented contour trees on triangulations. In contrast to most existing parallel algorithms our technique computes augmented trees, enabling the full…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-02-14 Charles Gueunet , P. Fortin , J Jomier , J Tierny

We introduce a new family of priority-queue data structures: partition-based simple heaps. The structures consist of $O(\log n)$ doubly-linked lists; order is enforced among data in different lists, but the individual lists are unordered.…

Data Structures and Algorithms · Computer Science 2026-03-03 Gerth Stølting Brodal , John Iacono , Casper Moldrup Rysgaard , Sebastian Wild

We consider the classic problem of designing heaps. Standard binary heaps run faster in practice than Fibonacci heaps but have worse time guarantees. Here we present a new type of heap, a layered heap, that runs faster in practice than both…

Data Structures and Algorithms · Computer Science 2015-10-13 Peter Huggins

In the paper "Fast Fibonacci heaps with worst case extensions", we have described heaps with both Meld-DecreaseKey and DecreaseKey interfaces, allowing operations with guaranteed worst-case asymptotically optimal times. The paper was…

Data Structures and Algorithms · Computer Science 2020-11-20 Vladan Majerech

We describe a data structure that supports access, rank and select queries, as well as symbol insertions and deletions, on a string $S[1,n]$ over alphabet $[1..\sigma]$ in time $O(\lg n/\lg\lg n)$, which is optimal even on binary sequences…

Data Structures and Algorithms · Computer Science 2013-02-04 Gonzalo Navarro , Yakov Nekrich

The segment tree is an extremely versatile data structure. In this paper, a new heap based implementation of segment trees is proposed. In such an implementation of segment tree, the structural information associated with the tree nodes can…

Data Structures and Algorithms · Computer Science 2018-07-17 Lei Wang , Xiaodong Wang
‹ Prev 1 2 3 10 Next ›