I was looking at the different kind of heap data structures.
The Fibonacci heap seems to have the better worst case complexity for (1) insertion, (2) deletion and (
But why they did not use a Fibonacci heap?
I think the main reason is because the Fibonacci heap can only help in the case when you have lot more decreaseKey operation connected to one extractMin operation. For example, when you are using it with the Dijkstra's algorithm.
Also, is there an implementation of Fibonacci heap in Java.util?
There is no implementation in Java.util, but I did some experiment on this topic using existing open-source versions of the Fibonacci heap. You can find it on my blog or on the project's GitHub repository.