rpds
rpds copied to clipboard
Rust persistent data structures
* [ ] `List` * [ ] `Stack` * [ ] `Queue` * [ ] `Vector` * [ ] `HashTrieMap` * [ ] `HashTrieSet` * [ ] `RedBlackTreeMap` * [...
I was experimenting with using a `RedBlackTree` as a priority queue and ended up with: ```rust let next_work = queue.first(); if let Some(k) = next_work { queue.remove_mut(k); } ``` It...
See 6af0922233a97575867f09d4d18598349e713753.
- [ ] impl - [ ] utest - [ ] bench See https://arxiv.org/pdf/1312.4666.pdf
- [ ] impl - [ ] utest - [ ] bench See https://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp95queue.pdf
- [ ] BTreeMap - [ ] impl - [ ] utest - [ ] bench - [ ] BTreeSet - [ ] impl - [ ] utest - [...
This is bad because it involves more heap allocations and also more efford when `Vec`s need to expand. To not lose the ability to configure the branching factor this is...