A Fibonacci heap is an implementation of a priority queue that supports amortized O(1) insertion, merge, find-min, and decrease-key, along with amortized O(log n) delete and extract-min. When implemented with a Fibonacci heap, Dijkstra's algorithm and Prim's algorithm can be made to work in O(E + V log V).
Questions tagged [fibonacci-heap]
77 questions
4
votes
1 answer
Boost Fibonacci Heap Decrease Operation
The new 'heap' boost library includes a fibonacci heap. The complexity of each implementation can be seen here: http://www.boost.org/doc/libs/1_51_0/doc/html/heap/data_structures.html.
My question is this: Why is the fibonacci heap decrease…

user1487088
- 251
- 3
- 6
3
votes
1 answer
Questions on the design and analysis of Fibonacci heaps
Fibonacci heaps are proving tricky to understand - even though CLRS has made a
really good attempt to make it understand how it works. But some questions
are really unclear to me:
Why would you choose a potential function like t + 2m? What is the…

John Smith
- 315
- 2
- 9
3
votes
2 answers
What are the worst-case time bounds for each operation on a Fibonacci heap?
Fibonacci heaps are efficient in an amortized sense, but how efficient are they in the worst case? Specifically, what is the worst-case time complexity of each of these operations on an n-node Fibonacci heap?
find…

Michocio
- 503
- 3
- 19
3
votes
1 answer
What happens when you erase an element from boost::fibonacci_heap?
Does an erase operation also update the heap after the element is removed?
I went through member functions explanation in boost documentation for
fibonacci_heap where it is mentioned what happens after increase/decrease operations, but when it…

LetsPlayYahtzee
- 7,161
- 12
- 41
- 65
3
votes
1 answer
Need help understanding how to decrease key in Fibonacci heap
I'm trying to understand how to implement Fibonacci heap operations. Given we have the following heap:
How would we decrease 35 to 27, for example? The order is not preserved since 27 is not greater than 30, so we must rebuild the heap. So where…

user3713712
- 105
- 1
- 2
- 6
3
votes
1 answer
how to iterate through a fibonacci heap (boost) that contains deque element
I'm using Fibonacci heap(boost) to order array of elements but I'm not able to iterate through the heap.
The code is like this:
#include
#include
#include
struct MyData {
...
long int…

user3190747
- 31
- 2
3
votes
1 answer
How do I get elements from boost::fibonacci_heap by handle?
I am using the boost::fibonacci_heap class from Boost 1.53.0 to maintain an updateable priority queue.
When I want to update an element I need to compare the element in the heap with the new element that I want to replace it with. I only want to…

Chris
- 6,914
- 5
- 54
- 80
3
votes
1 answer
Java: Prim's with Fibonacci heap? (JGraphT)
JGraphT has a nice Fibonacci Heap class. How can I use it to implement Prim's minimum spanning tree algorithm?

Nick Heiner
- 119,074
- 188
- 476
- 699
2
votes
2 answers
Is Dijkstra faster when using Fibonacci Heap?
Is Dijkstra faster when using Fibonacci heap than with the Binary heap?
I did some experiments implementing Fibonacci heap on my own and using it in Dijkstra, I also checked the ready-to-use Fibonacci heap from fibheap library, but none of the…

Karolina Andruszkiewicz
- 459
- 1
- 6
- 18
2
votes
0 answers
how a Fibonacci heap increases the efficiency of the Prim's algorithm
I know Prim's algorithm and Fibonacci heap but my question is:
how a Fibonacci heap increases the efficiency of the algorithm over an array list based minimum priority queue implementation

Mauran
- 141
- 1
- 8
2
votes
0 answers
fibonacci heaps - how to keep a pointer to node value?
I have a graph with 4 nodes where the adjacency matrix are as follows: The numbers inside indicate the weights.
____1___2___3___4__
1 | | 10| 5 | 1
___________________
2 |10 | | |
___________________
3 | 5 | | |
___________________
4 | 1…

Don
- 77
- 7
2
votes
1 answer
Why can I update a popped out element in a boost::fibonacci_heap?
I am implementing a Fast Marching algorithm using the boost::fibonacci_heap library, and I was getting started with manipulating elements using their handles.
I have written the basic code below, it compiles well but I do not understand its…

Nico B
- 130
- 6
2
votes
3 answers
Java: Using a Fibonacci Heap for Implementing Dijkstra's Algorithm
New here, but have been lurking as a guest for quite some time :)
Okay, so I've been trying to do Dijkstra's shortest path algorithm using a Fibonacci heap (in Java). After some search, I managed to stumble across two ready-made implementations…

Fiery Phoenix
- 1,156
- 2
- 16
- 30
2
votes
1 answer
Fibonacci Heap Issue
I've been working on a Fibonacci Heap implementation in Java for about a week now. It's the implementation based off of the CLRS book.
I wanted to see if I would get any performance boost using it in a side project I'm working on compared to Java's…

Nicholas Mancuso
- 11,599
- 6
- 45
- 47
1
vote
2 answers
project idea for fibonacci heap
I'm in a beginner level computer programming class and I (along with 3 other students) want to implement a Fibonacci heap for a final project. Can anyone suggest some good applications of fibonacci heaps? Something flashy enough to be good…

Tony
- 173
- 1
- 6