Define Fibonacci Heap:
Fibonacci Heap - A Fibonacci heap is defined as the collection of rooted-tree in
which all the trees must hold the property of Min-heap. That is, for all the nodes,
the key value of the parent node should be greater than the key value of the
parent node:
The given figure is an example of the Fibonacci tree:
Properties of Fibonacci Heap:
1. It can have multiple trees of equal degrees, and each tree doesn't need to
have 2^k nodes.
2. All the trees in the Fibonacci Heap are rooted but not ordered.
3. All the roots and siblings are stored in a separated circular-doubly-linked
list.
4. The degree of a node is the number of its children. Node X -> degree =
Number of X's children.