# Fibonacci heaps and their uses in improved network optimization algorithms

@inproceedings{Fredman1987FibonacciHA, title={Fibonacci heaps and their uses in improved network optimization algorithms}, author={Michael L. Fredman and Robert E. Tarjan}, booktitle={JACM}, year={1987} }

In this paper we develop a new data structure for implementing heaps (priority queues). Our structure, <italic>Fibonacci heaps</italic> (abbreviated <italic>F-heaps</italic>), extends the binomial queues proposed by Vuillemin and studied further by Brown. F-heaps support arbitrary deletion from an <italic>n</italic>-item heap in <italic>O</italic>(log <italic>n</italic>) amortized time and all other standard heap operations in <italic>O</italic>(1) amortized time. Using F-heaps we are able to…

## 2,204 Citations

Efficient implementation of graph algorithms using contraction

- Computer ScienceJACM
- 1989

The efficient solutions to the component merging problem and the new observation about F-heaps lead to an &Ogr;(<italic>n</italic>) algorithm for finding a maximum weighted matching in general graphs, giving the fastest algorithm currently known for this problem.

Faster algorithms for the shortest path problem

- Computer ScienceJACM
- 1990

Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the <italic>radix heap</italic>, is proposed for use in this algorithm. On a network…

Concurrent threads and optimal parallel minimum spanning trees algorithm

- Computer ScienceJACM
- 2001

This paper resolves a long-standing open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected…

Cache-oblivious shortest paths in graphs using buffer heap

- Computer Science, MathematicsSPAA '04
- 2004

These results appear to give the first non-trivial cache-oblivious bounds for shortest path problems on general graphs and undirected and directed single-source shortest path (SSSP) problems for graphs with non-negative edge-weights.

Cache-Oblivious Buffer Heap and Cache-Efficient Computation of Shortest Paths in Graphs

- Computer Science, MathematicsACM Trans. Algorithms
- 2018

The notion of a slim data structure that captures the situation when only a limited portion of the cache is available to the data structure to retain data between data structural operations is introduced and a buffer heap automatically adapts to such an environment and supports all operations in O(1/λ + 1/B log2 N/λ) amortized block transfers each when the size of the slim cache is λ.

Integer priority queues with decrease key in constant time and the single source shortest paths problem

- Computer Science, MathematicsSTOC '03
- 2003

A deterministic linear space solution that with n integer keys support delete in O(log log n) time, which is a deterministic, worst-case, with no restriction to monotonicity, and exponentially faster.

Fibonacci Heaps Revisited

- Computer ScienceArXiv
- 2014

This work proposes a version of the Fibonacci heap with the following improvements over the original: each heap is represented by a single heap-ordered tree, instead of a set of trees, and each decrease-key operation does only one cut and a cascade of rank changes.

Finding minimum-cost circulations by canceling negative cycles

- Computer ScienceJACM
- 1989

It is shown that a judicious choice of cycles for canceling leads to a polynomial bound on the number of iterations in this algorithm, which is comparable to those of the fastest previously known algorithms.

Practical Applicability of Advanced Implementations of Priority Queues in Finding Shortest Paths

- Computer Science2019 International Conference on Information and Digital Technologies (IDT)
- 2019

This paper focuses on three implementations of priority queues that are Fibonacci heap, Brodal queue, and strict Fib onacci heap and tries to investigate their applicability in Dijkstra’s algorithm implemented in C++ programing language.

Resolving a Question about Randomized Fibonacci Heaps in the Negative

- Mathematics, Computer Science
- 2013

This project studies a randomized variant of Fibonacci heaps where instead of using mark bits, one flips coins in order to determine whether to cascade bringing nodes into the root list, and proves that randomized Fibonaccia heaps, as originally defined, perform worse asymptotically then standard Fibonaci heaps.

## References

SHOWING 1-10 OF 52 REFERENCES

Efficient implementation of graph algorithms using contraction

- Computer ScienceJACM
- 1989

The efficient solutions to the component merging problem and the new observation about F-heaps lead to an &Ogr;(<italic>n</italic>) algorithm for finding a maximum weighted matching in general graphs, giving the fastest algorithm currently known for this problem.

Efficient algorithms for finding minimum spanning trees in undirected and directed graphs

- Computer ScienceComb.
- 1986

This paper uses F-heaps to obtain fast algorithms for finding minimum spanning trees in undirected and directed graphs and can be extended to allow a degree constraint at one vertex.

Applications of Path Compression on Balanced Trees

- Computer ScienceJACM
- 1979

A method for computing functions defined on paths in trees based on tree manipulation techniques first used for efficiently representing equivalence relations, which has an almost-linear running time and is useful for solving certain kinds of pathfinding problems on reducible graphs.

Self-Adjusting Heaps

- Computer ScienceSIAM J. Comput.
- 1986

In this paper, two themes in data structure design are explored: amortized computational complexity and self adjustment.

Efficient Algorithms for Graphic Matroid Intersection and Parity (Extended Abstract)

- Computer ScienceICALP
- 1985

Improved algorithms for other problems are obtained, including maintaining a minimum spanning tree on a planar graph subject to changing edge costs, and finding shortest pairs of disjoint paths in a network.

Efficient Algorithms for Shortest Paths in Sparse Networks

- Computer ScienceJ. ACM
- 1977

Algorithms for finding shortest paths are presented which are faster than algorithms previously known on networks which are relatively sparse in arcs, and a class of “arc set partition” algorithms is introduced.

Implementation and Analysis of Binomial Queue Algorithms

- Mathematics, Computer ScienceSIAM J. Comput.
- 1978

The binomial queue, a new data structure for implementing priority queues that can be efficiently merged, was recently discovered by Jean Vuillemin and new methods of representing binomial queues are given which reduce the storage overhead of the structure and increase the efficiency of operations on it.

An O(|E| log log |V|) Algorithm for Finding Minimum Spanning Trees

- Computer ScienceInf. Process. Lett.
- 1975

Priority queues with variable priority and an O(EV log V) algorithm for finding a maximal weighted matching in general graphs

- Mathematics, Computer Science23rd Annual Symposium on Foundations of Computer Science (sfcs 1982)
- 1982

Two generalized types of a priority queue are defined by allowing some forms of changing the priorities of the elements in the queue to be implemented efficiently and used to construct an O(log n) algorithm for finding a maximal weighted matching in general graphs.

Bounds for Naive Multiple Machine Scheduling with Release Times and Deadlines

- BusinessJ. Algorithms
- 1984