Rust Data structures

Open-source Rust projects categorized as Data structures | Edit details

Top 21 Rust Data structure Projects

  • Rust

    All Algorithms implemented in Rust (by TheAlgorithms)

  • crossbeam

    Tools for concurrent programming in Rust

    Project mention: 12 Rust Tips and Tricks you might not know yet | | 2022-01-19

    The crossbeam crate offers a powerful alternative to standard channels with support for the Select operation, timeouts, and more. Similar to what you get out of the box in Golang and traditional Unix sockets.

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • rust-algorithms

    Common data structures and algorithms in Rust

    Project mention: Programming challenges + Rust | | 2021-12-08

    This blog post is a good introduction on how to use Rust for programming contests. You may also find this library of common data structures/algorithms as a good reference point.

  • hora

    🚀 efficient approximate nearest neighbor search algorithm collections library written in Rust 🦀 .

    Project mention: Hora, an blazingly fast AI Similarity search algorithm library (IOS Version) | | 2021-09-04

    $ rustup target add aarch64-apple-ios aarch64-apple-ios $ cargo install cargo-lipo $ git clone $ cd hora-ios/hora $ cargo lipo --release

  • dashmap

    Blazing fast concurrent HashMap for Rust.

    Project mention: Writing a concurrent LRU cache | | 2021-12-10

    Some additional notes are in this slide deck and the implementation javadoc. You'd probably want to use something like DashMap for the hash table.

  • heapless

    Heapless, `static` friendly data structures

    Project mention: Now that the long-awaited const generics (MVP) have come to stable in 1.51, what crates are going to gain the most from it? | | 2021-03-25

    It's happening

  • rpds

    Rust Persistent Data Structures

    Project mention: Learning Clojure made me return back to C/C++ | | 2021-07-23

    Thanks for taking the time to provide a detailed response. Need to think on this. I had actually started a regular Clojure parser using LLVM as a hobby, but then my friend said it was better to implement this in a safe-memory and. save-concurrency language like Rust and leverage cranelift for code generation. So, now I am learning rust, lol. (Btw, Rust has a persistent data structures lib too: )

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • generic-array

    Generic array types in Rust

    Project mention: mtrx: Type Safe Matrix Operations using Const Generics | | 2021-03-25

    While it's only recently that Rust has gotten first-class support for type-level values (i.e., const generics), encoding numbers in the type system has been possible for years — and used to great effect! Typenum's first release was September 25th, 2015, and generic-array was first released on September 27th, 2015; nalgebra started using these crates with its v0.6.0 release on March 31, 2016.

  • roaring-rs

    Roaring bitmap implementation for Rust

    Project mention: Improving GitHub Code Search | | 2021-12-08

    Given the shoutouts to Burntsushi and Lemire this is almost certainly a bitmap trigram index based engine similar to

    The index is likely based on Roaring bitmaps, presumably in this case.

    Nice architecture, exactly how I would have done it also.

  • staticvec

    Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.

    Project mention: Why do Rust crates rarely have good documentation? | | 2022-01-23

    I'd say the module system can sometimes get in the way of even the most technically well-documented crate out there. It's why for example I carefully rexport the various types implemented by my crate StaticVec from such that the main docs page looks like this, even though "under the hood" everything is actually about as modular as you might expect it to be.

  • hypergraph

    Hypergraph is data structure library to create a directed hypergraph in which a hyperedge can join any number of vertices.

    Project mention: Show HN: Hypergraph, a data structure library to generate directed hypergraphs | | 2021-08-23

    What triggers the initial willingness to implement something with hypergraphs was indeed the Wolfram physics project!

  • scapegoat

    Safe, fallible, embedded-friendly ordered set/map via a scapegoat tree. Validated against BTreeSet/BTreeMap. (by tnballo)

    Project mention: 10-12x smaller executable footprint than `std::collections::BTreeMap` - accurate? | | 2021-11-14

    Woah that made a huge difference! Thanks for taking the time to try that out and type it up. Was able to retrace your steps and get the same 8.4KB result. I've updated the writeup again.

  • triple-buffer

    Implementation of triple buffering in Rust

    Project mention: A bug that doesn’t exist on x86: Exploiting an ARM-only race condition | | 2021-10-25
  • array_tool

    Array helpers for Rust's Vector and String types

  • ritelinked

    RiteLinked - LinkedHashMap & LinkedHashSet in Rust

    Project mention: How to make linked structures? | | 2021-10-09

    you can checkout for linkedhashmap or linkedhashset.

  • NumToA

    An efficient method of heaplessly converting numbers into their string representations, storing the representation within a reusable byte array.

  • undo

    A undo-redo library. (by evenorog)

    Project mention: Implementing Undo/Redo for App State with the Undo Crate | | 2021-04-18

    I'm creating an app with rust and require undo/redo functionality. The undo crate seems like it offers some nice functionality to do this, but I can figure out how to apply the simple example to a more complex setup, where ```AppState``` is stored inside of a RefCell ```AppContainer```. When AppContainer mutates AppState, I want to be able to undo/redo that mutation.

  • usher

    Parameterized routing for generic resources in Rust

    Project mention: Any simple router crates? | | 2021-12-04

    I have been using usher with custom parser and matcher so far.

  • base_custom

    Rust implementation of custom numeric base conversion.

  • ux-dataflow

    UX-Dataflow is a streaming capable data multiplexer that allows you to aggregate data and then process it using a Chain of Responsibility design pattern.

    Project mention: UX Dataflow is a streaming capable data multiplexer | | 2021-04-14
  • algo

    Coding problems with modern languages, TDD and CI (by protiumx)

    Project mention: Coding Problems, TDD, and CI | | 2021-12-11

    For this project CI is very simple: run linting (currently this is a TODO) and run tests. If all tests have passed with no errors, then the CI check is green. You can check my github workflows here.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-23.

Rust Data structures related posts


What are some of the best open-source Data structure projects in Rust? This list will help you:

Project Stars
1 Rust 4,940
2 crossbeam 4,260
3 rust-algorithms 2,949
4 hora 2,132
5 dashmap 1,457
6 heapless 788
7 rpds 758
8 generic-array 288
9 roaring-rs 282
10 staticvec 261
11 hypergraph 159
12 scapegoat 134
13 triple-buffer 59
14 array_tool 54
15 ritelinked 43
16 NumToA 42
17 undo 36
18 usher 31
19 base_custom 5
20 ux-dataflow 5
21 algo 0
Find remote jobs at our new job board There are 30 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.