Questions tagged [fibonacci-heap]

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

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