Skip to main content

Crate d_ary_heap

Crate d_ary_heap 

Source
Expand description

§d-ary Heap Priority Queue

Cross-language implementation of d-ary heap (d-heap) priority queue with O(1) item lookup. This implementation provides API parity with C++, Zig, and TypeScript versions.

§Features

  • Configurable arity (d): Number of children per node (d ≥ 1)
  • Min/Max flexibility: Supports both min-heap and max-heap behavior via comparators
  • O(1) item lookup: Internal hash map enables efficient priority updates
  • Efficient operations: O(log_d n) insert, O(d·log_d n) pop
  • Cross-language API: Unified method names and behavior across implementations

§Cross-Language Consistency

This Rust implementation maintains API compatibility with:

  • C++: TOOLS::PriorityQueue<T> in Cpp/PriorityQueue.h
  • Zig: DHeap(T) in zig/src/d_heap.zig
  • TypeScript: PriorityQueue<T> in TypeScript/src/PriorityQueue.ts

All implementations share identical time complexities and method semantics.

Structs§

MaxBy
Convenience comparator for max-heap behavior.
MinBy
Convenience comparator for min-heap behavior.
PriorityQueue
d-ary heap priority queue with O(1) item lookup.

Enums§

Error
Error types for d-ary heap operations.

Traits§

PriorityCompare
Trait defining priority comparison for heap ordering.

Type Aliases§

Position
Type alias for position indices, providing cross-language consistency.