Skip to content

Latest commit

 

History

History
49 lines (42 loc) · 1.39 KB

README.md

File metadata and controls

49 lines (42 loc) · 1.39 KB

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
  • ❌ SLList
  • ❌ DLList
  • ❌ SEList
  1. Skip lists
  2. Hash tables
  • ✔️ ChainedHashTable
  • ❌ LinearHashTable
  1. Binary trees
  2. Random binary search trees
  3. Scapegoat trees
  4. Red-black trees
  5. Heaps
  6. Sorting algorithms
  7. Graphs
  8. Data structures for integers
  9. External memory searching

License

MIT