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>inCpp/PriorityQueue.h - Zig:
DHeap(T)inzig/src/d_heap.zig - TypeScript:
PriorityQueue<T>inTypeScript/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.
- Priority
Queue - d-ary heap priority queue with O(1) item lookup.
Enums§
- Error
- Error types for d-ary heap operations.
Traits§
- Priority
Compare - Trait defining priority comparison for heap ordering.
Type Aliases§
- Position
- Type alias for position indices, providing cross-language consistency.