The Algorithms - Rust

All algorithms implemented in Rust (for educational purposes)

These are for demonstration purposes only.

Sort Algorithms

  • Bubble
  • Counting
  • Heap
  • Insertion
  • Merge
  • Quick
  • Radix
  • Selection
  • Shell

Graphs

  • Dijkstra (Not implemented yet)
  • Kruskal's Minimum Spanning Tree (Not implemented yet)
  • Prim's Minimum Spanning Tree (Not implemented yet)
  • BFS (Not implemented yet)
  • DFS (Not implemented yet)

Dynamic Programming

  • 0-1 Knapsack
  • Edit Distance
  • Longest common subsequence
  • Longest increasing subsequence (Not implemented yet)
  • K-Means Clustering
  • Coin Change (Not implemented yet)
  • Rod cut (Not implemented yet)
  • Egg Dropping Puzzle

Data Structures

  • Queue (Not implemented yet)
  • Heap
  • Linked List
  • Graph (Not implemented yet)
    • Directed (Not implemented yet)
    • Undirected (Not implemented yet)
  • Trie (Not implemented yet)
  • Binary Search Tree
  • B-Tree
  • AVL Tree (Not implemented yet)

Strings

  • Knuth Morris Pratt
  • Rabin Carp (Not implemented yet)

General

  • Convex Hull: Graham Scan
  • N-Queensp (Not implemented yet)
  • Graph Coloringp (Not implemented yet)
  • Tower of Hanoi

Search Algorithms

  • Linear
  • Binary

Ciphers

  • Caesar
  • Vigenère
  • Transposition (Not implemented yet)

Contributing

See CONTRIBUTING.md

Issues

Collection of the latest Issues

skewballfox

skewballfox

stale
6

hey, I recently had an assignment where I had to benchmark two sorting algorithms(selection and quick) against each other in order to create a hybrid, and did this using the sorting algorithms from this repository. I wrote the benchmarks using criterion, and was wondering if you would be open to adding benchmarks to this repository, it should be fairly trivial to take the benchmarks I created and refactor them to do benchmark all the comparative based sorting algorithms against each other.

you can find the benchmarks here and I'll be adding the markdown version of the actual report shortly

r0hit-gupta

r0hit-gupta

enhancement
56

This issue is fairly easy and most beginners should be comfortable implementing algorithms of their choice in Rust. In case of any problem, raise an issue or just discuss below.

Sorting

  • Bubble Sort(#1)
  • Heap Sort (#27)
  • Insertion Sort(#6)
  • Quick Sort (#1 )
  • Merge Sort ()
  • Radix Sort (#141)
  • Selection Sort ()
  • Shell Sort ()
  • Counting Sort (#24)

Graphs

  • Dijkstra
  • Kruskal's Minimum Spanning Tree
  • Prim's Minimum Spanning Tree
  • BFS
  • DFS ()

Dynamic Programming

  • 0-1 Knapsack (#9)
  • Longest common subsequence(#26)
  • Longest increasing subsequence()
  • K-Means Clustering(#49)
  • Coin Change(#206)
  • Rod cut
  • Egg Dropping Puzzle

Data Structures

  • Queue (#25 )
  • Heap (#106)
  • Linked List
  • Graph
    • Directed
    • Undirected
  • Trie
  • Binary Tree(#76)
  • B-Tree(#102)
  • AVL Tree

Strings

  • Knuth Morris Pratt(#118)
  • Rabin Carp(#187)

General

  • N-Queens
  • Graph Coloring
  • Tower of Hanoi(#60)

Project Euler, LeetCode, etc.

  • Currently, we don't accept problems from those and similar websites

Information - Updated May 13, 2022

Stars: 7.1K
Forks: 859
Issues: 3

This is an example of a Rust server that functions as a remote schema for...

Rust + Hasura Rust server that functions as a Hasura

This is an example of a Rust server that functions as a remote schema for...

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

liboqs-rust: Rust bindings for liboqs

Qyantum Safe liboqs rust bindings

liboqs-rust: Rust bindings for liboqs

msgflo-rust: Rust participant support for MsgFlo

Flowhub visual programming IDE

msgflo-rust: Rust participant support for MsgFlo

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW

Trojan protocol that is targeted to circumvent tokio-rs to achieve high performance async io

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW
Actix

1.0K

How to be a full stack Rust Developer

Read Rust the Rust blog posts at Steadylearner

How to be a full stack Rust Developer

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

This is the place to translate Having a documentation in your native language is essential if you don't speak English, and still enjoyable even if...

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

False Positive for rust-lang/rust#83583

The deprecation lint proc_macro_derive_resolution_fallback is intended to catch proc macro generated code that refers to items from parent modules that should not be in scope:

False Positive for rust-lang/rust#83583

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2

If you're getting compile errors it may be because

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2

Rust-Svelte-on-Rust

Starter template for Rocket backend server

Rust-Svelte-on-Rust
Facebook Instagram Twitter GitHub Dribbble
Privacy