Expand description
Adaptive Radix Tree (ART) for prefix search (bd-1cgh9).
A radix tree with adaptive node sizes (Node4/Node16/Node48/Node256) that provides O(k) lookup and O(k + m) prefix scan, where k = key length and m = number of matches.
§Node Types
| Type | Keys | Children | Size | Use Case |
|---|---|---|---|---|
| Node4 | 4 | 4 | ~48 B | Very sparse |
| Node16 | 16 | 16 | ~192 B | Moderate density |
| Node48 | 48 | 48+256 | ~656 B | Dense |
| Node256 | 256 | 256 | ~2056 B | Very dense (full) |
§Example
use ftui_widgets::adaptive_radix::AdaptiveRadixTree;
let mut art = AdaptiveRadixTree::new();
art.insert("file:open", 1);
art.insert("file:save", 2);
art.insert("file:close", 3);
art.insert("edit:undo", 4);
// Prefix scan
let matches = art.prefix_scan("file:");
assert_eq!(matches.len(), 3);
// Exact lookup
assert_eq!(art.get("edit:undo"), Some(&4));Structs§
- Adaptive
Radix Tree - An adaptive radix tree for string-keyed data.
- Node
Distribution - Distribution of node types in the tree.