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§
- Fibonacci
Heap - A Fibonacci Heap data structure
- Node
- A node in the Fibonacci Heap
Enums§
- Heap
Error - Error types for Fibonacci Heap operations