1 unstable release

0.1.0 Jun 11, 2020

#1977 in Data structures

Download history 3192/week @ 2023-12-18 1452/week @ 2023-12-25 3170/week @ 2024-01-01 4103/week @ 2024-01-08 9499/week @ 2024-01-15 6314/week @ 2024-01-22 5204/week @ 2024-01-29 6683/week @ 2024-02-05 6724/week @ 2024-02-12 5566/week @ 2024-02-19 6682/week @ 2024-02-26 6428/week @ 2024-03-04 7772/week @ 2024-03-11 8119/week @ 2024-03-18 8057/week @ 2024-03-25 6560/week @ 2024-04-01

31,068 downloads per month
Used in 12 crates (5 directly)

MIT/Apache

58KB
1.5K SLoC

sorted_vector_map

sorted_vector_map is an implementation of an ordered map and set (like std::collections::BTreeMap and std::collections::BTreeSet) using a sorted vector as the backing store.

Sorted vector maps are appropriate when data is frequently loaded from an ordered source, queried a small number of times, and infrequently modified through insertion or removal.

Loading from an ordered sequence is O(n) through an optimization to insert that handles in-order insertions specially. Extension of the sequence is also optimized, where extending a map or set of size n with m elements in a single operation is O(n + m log m). Otherwise, loading from an unordered sequence is O(n^2).

Look-up is O(log n) through binary search. Insertion and removal are both O(n), as are set operations like intersection, union and difference.

sorted_vector_map is part of rust-shed. See the rust-shed repository for more documentation, including the contributing guide.

License

sorted_vector_map is both MIT and Apache License, Version 2.0 licensed, as found in the LICENSE-MIT and LICENSE-APACHE files.

Dependencies

~610KB
~12K SLoC