Skip to content

Straightforward implementations of common data structures in Rust

Notifications You must be signed in to change notification settings

carlos-rpg/rust-open-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPEN DATA STRUCTURES IN RUST

An implementation in Rust of the data structures in the free book Open Data Structures (edition 0.1Gβ) by Pat Morin. Thanks to the author for making this knowledge accessible to everybody.

The goal is to give Rust learners didactic implementations in order to learn both the language and the data structures.

The book can be read in different versions that differ in the implementation language (Pseudocode, C++, Java and Python at the time of writing this). This repo implement the data structures featured in the pseudocode version.

What you will find here

Straightforward implementations of the book's contents, leveraging the tools offered by Rust's standard library. Unit tests and trait implementations included.

You won't find an optimized, production ready library that may sacrifice clarity for performance.

Progress

  1. Array based lists
  • ✔️ ArrayStack
  • ✔️ ArrayQueue
  • ❌ ArrayDeque
  • ❌ DualArrayDeque
  • ❌ RootishArrayStack
  1. Linked lists
  2. Skip lists
  3. Hash tables
  4. Binary trees
  5. Random binary search trees
  6. Scapegoat trees
  7. Red-black trees
  8. Heaps
  9. Sorting algorithms
  10. Graphs
  11. Data structures for integers
  12. External memory searching

License

MIT

About

Straightforward implementations of common data structures in Rust

Resources

Stars

Watchers

Forks

Languages