FibonacciHeap is an assembly/ library to build and use Fibonacci heaps in C#.
public void Test()
{
FibonacciHeap heap = new FibonacciHeap();
bool empty = heap.IsEmpty();
var minValue = heap.Min;
var heapNode = heap.Pop();
//...
}
public TValue Min {}
public bool IsEmpty();
public HeapNode<TValue, TPriority> Pop();
public void DecreaseKey(HeapNode<TValue, TPriority> entry, TPriority newPriorty);
public IEnumerator<TValue> GetEnumerator();
IEnumerator IEnumerable.GetEnumerator();
private void Cut(HeapNode<TValue, TPriority> entry);
private HeapNode<TValue, TPriority> Merge(
HeapNode<TValue, TPriority> first,
HeapNode<TValue, TPriority> second);
See the Changelog.