Algorithms
Rust implementations of core algorithms, such as hashing, sorting (e.g., merge sort, quicksort), searching, and more.
The following table denotes the most common crates used for each algorithm category.
Topic | Rust Crates | Notes |
---|---|---|
Sorting | std::cmp , itertools ⮳, rand ⮳ | std::cmp provides ordering traits, itertools ⮳ for iterators, rand ⮳ for generating test data. No single crate is the sorting crate, as std::slice::sort is often sufficient. |
Searching | std::cmp | Binary search is available in the standard library. |
Data Structures (General) | std::collections , im ⮳, petgraph ⮳ | std::collections for common structures (Vec, HashMap, etc.), im ⮳ for immutable data structures, petgraph ⮳ for graphs. |
Graph Algorithms | petgraph ⮳, pathfinding ⮳ | petgraph ⮳ is a popular graph library. pathfinding ⮳ provides pathfinding algorithms. |
Dynamic Programming | Often implemented without external crates | DP is often implemented using standard library features like vectors and iterators. |
String Algorithms | regex ⮳, aho-corasick ⮳, strsim ⮳ | regex ⮳ for regular expressions, aho-corasick ⮳ for multiple pattern searching, strsim ⮳ for string similarity. |
Numerical Algorithms | nalgebra ⮳, ndarray ⮳, num ⮳ | nalgebra ⮳ for linear algebra, ndarray ⮳ for N-dimensional arrays, num ⮳ for numeric traits. |
Cryptography | ring ⮳, rust-crypto ⮳, sha2 ⮳ | Several crates exist; choose carefully based on security needs and audit history. |
Random Numbers
FIXME
Sorting
Recipe | Crates | Categories |
---|---|---|
Sort a Vector of Integers | ||
Sort a Vector of Floats | ||
Sort a Vector of Structs |
Related Topics
Compression
- Compression.
Cryptography
- Cryptography.
- Cryptography Utilities.
- Encryption.
- Hashing.
- Password Hashing.
Data Processing
- Data Processing.
Data Structures
- Concurrent Data Structures.
- Data Structures.
Mathematics
- Additional Numeric Types.
- Complex Numbers.
- Linear Algebra.
- Mathematics.
- Statistics.
- Trigonometry.
Science
- Science.
- Machine Learning.
- Geoscience.
- Neuroscience.
- Science Robotics.
- Simulation.
Search
- Search.
- Search Engines.
Strings
- String Concat.
- String Encoding.
- String Parsing.
- Strings.
- Text Processing.