https://github.com/stranger6667/veb
Rust implementation of a van Emde Boas tree
https://github.com/stranger6667/veb
Last synced: 4 days ago
JSON representation
Rust implementation of a van Emde Boas tree
- Host: GitHub
- URL: https://github.com/stranger6667/veb
- Owner: Stranger6667
- License: mit
- Created: 2021-12-24T23:11:07.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-26T19:54:46.000Z (over 4 years ago)
- Last Synced: 2024-10-19T10:44:52.696Z (over 1 year ago)
- Language: Rust
- Size: 6.84 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vEB
A WIP Rust implementation of a van Emde Boas tree.
```rust
fn main() {
let mut tree = veb::VebTree::new(1024);
tree.insert(50);
assert!(tree.contains(50));
assert!(!tree.contains(49));
}
```
**NOTE**: This is an alpha version and is not ready for production use.
TODO:
- [x] Insert
- [x] Contains
- [x] Delete one
- [ ] Delete all
- [ ] Store values associated with keys
- [x] Find next
- [ ] Find prev
- [ ] Size
- [ ] Iteration + exact size iteration + fused, double ended iterator
- [ ] Extend from iterator
- [ ] Drain / drain filter / retain / take
- [ ] Default / Debug
- [ ] First / last (with pop)
- [ ] Append
- [ ] Fuzzing
- [ ] Generic over T
- [ ] Clone
- [ ] Eq
- [ ] Some `From` impls (e.g. `&[usize]`)
- [ ] O(n) space
- [ ] Use bit vectors when size is <= word size
- [ ] More tests
- [ ] Detailed comments & docs
- [ ] Arena-based allocation