Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weihanglo/rust-algorithm-club
Learn algorithms and data structures with Rust
https://github.com/weihanglo/rust-algorithm-club
algorithms data-structures rust
Last synced: 3 months ago
JSON representation
Learn algorithms and data structures with Rust
- Host: GitHub
- URL: https://github.com/weihanglo/rust-algorithm-club
- Owner: weihanglo
- License: mit
- Created: 2017-08-05T06:43:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-22T00:06:24.000Z (over 2 years ago)
- Last Synced: 2024-08-10T14:19:02.210Z (6 months ago)
- Topics: algorithms, data-structures, rust
- Language: Rust
- Homepage: https://rust-algo.club
- Size: 14.6 MB
- Stars: 406
- Watchers: 20
- Forks: 44
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# Rust Algorithm Club
> ### 🚧 🚧 This repo is under construction. Most materials are written in Chinese. [Check it out here](https://weihanglo.tw/rust-algorithm-club) if you are able to read Chinese.
Welcome to the Rust Algorithm Club! This repository was originally inspired by [Swift Algorithm Club][swift-algorithm-club]. All algorithms here would be explained and implemented in [Rust programming language][rust]!
You can find out more on the [Rust Algorithm Club][main-site] 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][generated-doc]. Go and fight with the source code.This project along with its source code are on [GitHub][source-code] and we are looking forward to your contributions.
[![Rust Edition](https://img.shields.io/badge/Rust_Edition-2018-green.svg)][edition-guide]
[![Build Status](https://github.com/weihanglo/rust-algorithm-club/workflows/CI/badge.svg)][ci-status]
[![Documentation](https://img.shields.io/badge/doc-available-blue.svg)][generated-doc][swift-algorithm-club]: https://github.com/raywenderlich/swift-algorithm-club
[rust]: https://www.rust-lang.org/
[source-code]: https://github.com/weihanglo/rust-algorithm-club
[main-site]: https://weihanglo.tw/rust-algorithm-club/
[ci-status]: https://github.com/weihanglo/rust-algorithm-club/actions?query=workflow%3ACI
[generated-doc]: https://weihanglo.tw/rust-algorithm-club/doc/rust_algorithm_club/
[edition-guide]: https://rust-lang.github.io/edition-guide/rust-2018## General Concepts
- [Asymptotic Notation](src/concepts/asymptotic-notation)
## Algorithms
### Searching
- [Linear search](src/searching/linear_search)
- [Binary search](src/searching/binary_search)
- [Interpolation search](src/searching/interpolation_search)
- [Exponential search](src/searching/exponential_search)### Sorting
Simple sorts:
- [Insertion sort](src/sorting/insertion_sort)
- [Selection sort](src/sorting/selection_sort)
- [Bubble sort](src/sorting/bubble_sort)
- [Shellsort](src/sorting/shellsort)Efficient sorts:
- [Heapsort](src/sorting/heapsort)
- [Quicksort](src/sorting/quicksort)
- [Mergesort](src/sorting/mergesort)Hybrid sorts (more efficient):
- 🚧 [Introsort](src/sorting/introsort)
- 🚧 [Timsort](src/sorting/timsort)
- 🚧 [Pdqsort](src/sorting/pdqsort)Special-purpose sorts:
- [Counting sort](src/sorting/counting_sort)
- [Bucket sort](src/sorting/bucket_sort)
- [Radix sort](src/sorting/radix_sort)## Data Structures
### Stack and Queue
- [Stack](src/collections/stack)
- [Queue](src/collections/queue)
- [Deque](src/collections/deque)### Linked List
[Introduction to linked list](src/collections/linked_list)
- [Singly linked list](src/collections/singly_linked_list)
- [🚧 Doubly linked list](src/collections/doubly_linked_list)
- [🚧 Circular linked list](src/collections/circular_linked_list)### Associative Container
[Introduction to associative container](src/collections/associative-container)
- [Hash map](src/collections/hash_map)
- [🚧 Ordered map](src/collections/ordered_map)
- [🚧 Multimap](src/collections/multimap)
- [Set](src/collections/set)
- [Bloom filter](src/collections/bloom_filter)### String Manipulation
- [Hamming distance](src/hamming_distance)
- [Levenshtein distance](src/levenshtein_distance)
- [🚧 Longest common substring](src/longest_common_substring)## Learning Resources
For learning more, you may check out following online resources:
- [VisuAlgo](https://visualgo.net/) - Probably the best algorithms visualization website.
- [Big-O Cheat Sheet](http://bigocheatsheet.com/) - Comprehensive Big-O notation cheat sheet.
- [Rosetta Code](http://rosettacode.org) - Hundred of solutions of tasks in almost every programming languages.
- [Competitive Programmer's Handbook](https://cses.fi/book.html) - Make you more competitive. The book itself is also competitive.## Contributing
All contributions are welcome, including typo fix! Please read the [contrubuting](CONTRIBUTING.md) guideline first before starting your work.
## Contributors
- [@weihanglo](https://github.com/weihanglo)
- [@choznerol](https://github.com/choznerol)
- [@henry40408](https://github.com/henry40408)
- [@wiasliaw77210](https://github.com/wiasliaw77210)
- [@LebranceBW](https://github.com/LebranceBW)## License
This project is released under different licenses based on type of the content.
- Source code is licensed under [The MIT License (MIT)](LICENSE).
- Articles and creative works are licensed under [Creative Commons 4.0 (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/).Copyright © 2017 - 2021 Weihang Lo