Data structures

19 projects

Rust's standard library covers vectors, hash maps, B-tree maps, sets, deques and binary heaps. The crates here fill the gaps. itertools is the most widely used: it adds iterator adaptors such as group_by, interleave, cartesian_product and sorted, and is a dependency of a large part of the ecosystem. rpds provides persistent data structures that share structure between versions, which helps with undo history and concurrent readers.

roaring-rs implements Roaring bitmaps, a compressed bitmap format used by search engines and analytics databases for fast set operations on integers. lru-rs is a simple least-recently-used cache, priority-queue allows changing an item's priority after insertion, and kdtree-rs does nearest-neighbour search over points. Before adding a crate, check whether std's BTreeMap, VecDeque or BinaryHeap already does the job, since they are well optimized and keep dependencies down.

nutype generates newtypes with validation and sanitization, so values like emails or non-empty strings are checked once at construction. generic-array provides arrays whose length is a type parameter and is still used by cryptography crates, though const generics now cover many of its uses. Both make invalid states harder to represent, which is a common goal of Rust type design.

rs-merkle-treeby alrevuelta

Merkle tree implementation in Rust with configurable storage backends and hash functions. Fixed depth and incremental only. Optimized for fast proof generation.

updated 2mo ago

229

NumKongby ashvardanian

SIMD-accelerated vector distances and similarity functions for x86 AVX2 & AVX-512, and Arm NEON

simsimd6.5.161.7m/90d Cupdated today

1.9k

gridby becheran

Provide a two dimensional data structure that is easy to use and fast.

grid1.0.16m/90d updated 6mo ago

105

tstby billyevans

Ternary search tree collection

tst0.12.1110/90d updated 1y ago

27

contain-rs

Extension of Rust's std::collections

github.com

array_toolby danielpclark

Array helpers. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases.

array_tool1.0.387.9k/90d updated 3y ago

79

enum-map

An optimized map implementation for enums using an array to store values.

enum-map3.1.012.3m/90d

generic-arrayby fizyk20

A hack to allow for arrays sized by typenums

generic-array1.4.5243.5m/90d updated 2mo ago

438

priority-queueby garro95

A priority queue that implements priority changes.

priority-queue2.7.07.1m/90d updated 6mo ago

228

nutypeby greyblake

Define newtype structures with validation constraints.

nutype0.8.01.7m/90d updated 1mo ago

1.8k

lru-rsby jeromefroe

An implementation of an LRU cache with O(1) put, get, get_mut, and pop operations.

lru0.19.0107.9m/90d updated 2d ago

844

undoredoby mikwielgus

Undo/Redo pattern implementation for arbitrary data structures. Supports delta-based (sparse diffs), snapshot-based, and command-based undo-redo with derive macros for custom types. Compatible with no_std and serde.

undoredo0.15.13.8k/90d updated 2d ago

132

kdtree-rsby mrhooray

K-dimensional tree for fast geospatial indexing and nearest neighbors lookup

kdtree0.8.1750.1k/90d updated 2mo ago

286

rpdsby orium

Persistent data structures.

rpds1.2.14.7m/90d updated 17d ago

1.8k

roaring-rsby RoaringBitmap

Roaring Bitmaps

roaring0.11.514.7m/90d updated today

968

itertoolsby rust-itertools

Extra iterator adaptors, functions and macros

itertools0.15.0392.1m/90d updated 17d ago

3.2k

bit-intby sorairolake

An arbitrary fixed bit-width integer library

bit-int0.2.124/90d updated 1d ago

6

scapegoatby tnballo

Safe, fallible, stack-only alternative to BTreeSet and BTreeMap.

scapegoat2.3.0275/90d updated 4y ago

267

hypergraphby yamafaktory

Hypergraph is a data structure library to generate directed hypergraphs.

hypergraph4.2.0474/90d updated 4mo ago

353

Built on the open rust-unofficial/awesome-rust list by its contributors, licensed CC0 1.0. Crate Atlas is an independent project, not affiliated with the list's maintainers.

About Synced Oct 21, 2026

© 2026 Crate Atlas

Esc

Type to search every entry. ↑↓ to move, Enter to open.