An open API service indexing awesome lists of open source software.

https://github.com/sepppenner/fibonacciheap

FibonacciHeap is an assembly/ library to build and use Fibonacci heaps in C#.
https://github.com/sepppenner/fibonacciheap

Last synced: about 1 month ago
JSON representation

FibonacciHeap is an assembly/ library to build and use Fibonacci heaps in C#.

Awesome Lists containing this project

README

          

FibonacciHeap
====================================

FibonacciHeap is an assembly/ library to build and use Fibonacci heaps in C#.

[![Build status](https://ci.appveyor.com/api/projects/status/4r73mgd973f5bek9?svg=true)](https://ci.appveyor.com/project/SeppPenner/fibonacciheap)
[![GitHub issues](https://img.shields.io/github/issues/SeppPenner/FibonacciHeap.svg)](https://github.com/SeppPenner/FibonacciHeap/issues)
[![GitHub forks](https://img.shields.io/github/forks/SeppPenner/FibonacciHeap.svg)](https://github.com/SeppPenner/FibonacciHeap/network)
[![GitHub stars](https://img.shields.io/github/stars/SeppPenner/FibonacciHeap.svg)](https://github.com/SeppPenner/FibonacciHeap/stargazers)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://raw.githubusercontent.com/SeppPenner/FibonacciHeap/master/License.txt)
[![Known Vulnerabilities](https://snyk.io/test/github/SeppPenner/FibonacciHeap/badge.svg)](https://snyk.io/test/github/SeppPenner/FibonacciHeap)
[![Blogger](https://img.shields.io/badge/Follow_me_on-blogger-orange)](https://franzhuber23.blogspot.de/)
[![Patreon](https://img.shields.io/badge/Patreon-F96854?logo=patreon&logoColor=white)](https://patreon.com/SeppPennerOpenSourceDevelopment)
[![PayPal](https://img.shields.io/badge/PayPal-00457C?logo=paypal&logoColor=white)](https://paypal.me/th070795)

## Basic usage
```csharp
public void Test()
{
FibonacciHeap heap = new FibonacciHeap();
bool empty = heap.IsEmpty();
var minValue = heap.Min;
var heapNode = heap.Pop();
//...
}
```

## Available methods
```csharp
public TValue Min {}

public bool IsEmpty();

public HeapNode Pop();

public void DecreaseKey(HeapNode entry, TPriority newPriorty);

public IEnumerator GetEnumerator();

IEnumerator IEnumerable.GetEnumerator();

private void Cut(HeapNode entry);

private HeapNode Merge(
HeapNode first,
HeapNode second);
```

Change history
--------------

See the [Changelog](https://github.com/SeppPenner/FibonacciHeap/blob/master/Changelog.md).