Crate fibonacci_heap

Crate fibonacci_heap 

Source
Expand description

A high-performance Fibonacci Heap implementation in Rust.

Fibonacci Heap is a collection of trees that satisfies the minimum heap property. It provides efficient operations for insertion, merging, and decreasing keys, making it ideal for algorithms like Dijkstra’s and Prim’s.

§Features

  • O(1) amortized time for insert and merge operations
  • O(1) amortized time for decrease key operations
  • O(log n) amortized time for extract minimum operations
  • Comprehensive error handling

§Example

use fibonacci_heap::FibonacciHeap;

let mut heap = FibonacciHeap::new();
let node1 = heap.insert(10).unwrap();
let node2 = heap.insert(5).unwrap();
assert_eq!(heap.extract_min(), Some(5));

heap.decrease_key(&node1, 3).unwrap();
assert_eq!(heap.extract_min(), Some(3));

Structs§

FibonacciHeap
A Fibonacci Heap data structure
Node
A node in the Fibonacci Heap

Enums§

HeapError
Error types for Fibonacci Heap operations