rust-algorithm-club icon indicating copy to clipboard operation
rust-algorithm-club copied to clipboard

Learn algorithms and data structures with Rust

logo

Rust Algorithm Club

🚧 🚧 This repo is under construction. Most materials are written in Chinese. Check it out here if you are able to read Chinese.

Welcome to the Rust Algorithm Club! This repository was originally inspired by Swift Algorithm Club. All algorithms here would be explained and implemented in Rust programming language! You can find out more on the Rust Algorithm Club main site. Just pick up some algorithms you are interested in and start learning. If you are brave enough, we recommend you the auto-generated API documentation. Go and fight with the source code.

This project along with its source code are on GitHub and we are looking forward to your contributions.

Rust Edition Build Status Documentation

General Concepts

  • Asymptotic Notation

Algorithms

Searching

  • Linear search
  • Binary search
  • Interpolation search
  • Exponential search

Sorting

Simple sorts:

  • Insertion sort
  • Selection sort
  • Bubble sort
  • Shellsort

Efficient sorts:

  • Heapsort
  • Quicksort
  • Mergesort

Hybrid sorts (more efficient):

  • 🚧 Introsort
  • 🚧 Timsort
  • 🚧 Pdqsort

Special-purpose sorts:

  • Counting sort
  • Bucket sort
  • Radix sort

Data Structures

Stack and Queue

  • Stack
  • Queue
  • Deque

Linked List

Introduction to linked list

  • Singly linked list
  • 🚧 Doubly linked list
  • 🚧 Circular linked list

Associative Container

Introduction to associative container

  • Hash map
  • 🚧 Ordered map
  • 🚧 Multimap
  • Set
  • Bloom filter

String Manipulation

  • Hamming distance
  • Levenshtein distance
  • 🚧 Longest common substring

Learning Resources

For learning more, you may check out following online resources:

Contributing

All contributions are welcome, including typo fix! Please read the contrubuting guideline first before starting your work.

Contributors

License

This project is released under different licenses based on type of the content.

Copyright © 2017 - 2021 Weihang Lo