- Notifications
You must be signed in to change notification settings - Fork3
Implementation of All ▲lgorithms in Rust Programming Language
License
AllAlgorithms/rust
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
We are accepting all pull requests.Read More
What is an algorithm? Contributing Stickers & T-Shirts
Huge collection of All ▲lgorithms implemented in multiple languages
- What is an algorithm
- Contributing
- Code of Conduct
- Stickers and T-Shirts
- Algorithms Categories
- Maintainers
- License
Informally, an algorithm is any well-defined computational procedure that takessome value, or set of values, as input and produces some value, or set of values, asoutput. An algorithm is thus a sequence of computational steps that transform theinput into the output.
An algorithm should have three important characteristics to be considered valid:
- It should be finite: If your algorithm never ends trying to solve the problemit was designed to solve then it is useless
- It should have well defined instructions: Each step of the algorithm has tobe precisely defined; the instructions should be unambiguously specified for each case.
- It should be effective: The algorithm should solve the problem it was designedto solve. And it should be possible to demonstrate that the algorithm converges withjust a paper and pencil.
Structure of The All ▲lgoritms project
- Artificial Intelligence
- Backtracking
- Bit Manipulation
- Cellular Automaton
- Ciphers
- Computational Geometry
- Cryptography
- Data Structures
- Divide and conquer
- Dynamic Programming
- Gaming Theory
- Graphs
- Greedy Algorithms
- Math
- Networking
- Numerical Analysis
- Operating system
- Randomized Algorithms
- Searches
- Selections Algorithms
- Sorting
- Strings
- Online Challenges
- Others
- Density-based spatial clustering of applications with noise (DBSCAN Clustering)
- Interactive Self-Organizing Data Analysis Technique yAy! (ISODATA Clustering)
- Linear Regression
- Logistic Regression
- Neutral Style Transfer
- SATisfiable (SAT)
- Travelling salesman problem (TSP)
- A* (A Star)
- Artificial Neutral Network
- Convolutional Neutral Network
- Decision Tree
- Factorization Machines
- Gaussian Mixture Model
- Gradient Boosting Trees
- Hierachical Clustering
- Image Processing
- K Nearest Neighbors
- K Means
- Minimax
- Native Bayes
- Nearest Sequence Memory
- Neutral Network
- Perceptron
- Principal Component Analysis
- Q Learing
- Random Forests
- Restricted Boltzman Machine
- Algorithm X
- Crossword Puzzle
- Knight Tour
- M Coloring Problem
- N Queen
- Number of ways in Maze
- Partitions of set
- Permutation of Strings
- Powerset
- Rat in maze
- Subset Sum
- Sudoku Solve
- Addition using bits
- Bit divisor
- Byte swapper
- Convert numbers to binary
- Count set bits
- Flip bits
- Hamming distance
- Invert bit
- Lonely integer
- Magic Number
- Maximum XOR Value
- Power of 2
- Subset Generation
- Sum binary numbers
- Sum equals XOR
- Thrice unique number
- Twice unique number
- XOR Swap
- Brians Brain
- Conways Game of life
- Elementary Cellular Automata
- Generic Algorithm
- Langtons Ant
- Nobili Cellular Automata
- Von Neoumann Cellular Automata
- 2D Line intersection
- 2D Separating Axis test
- Area of polygon
- Area of triangle
- Axis aligned bounding box collision
- Bresenham Line
- Chans Algorithm
- Cohen Sutherland Lineclip
- Distance between points
- Graham Scan
- Halfplane intersection
- Jarvis March
- Quickull
- Sphere tetrahedron intersection
- Sutherland Hodgeman clipping
- Strassen Matrix Manipulation
- Closest Pair of Point
- Inversion Count
- Karatsuba Multiplication
- Maximum Contiguous subsequence sum
- Merge Sort using divide and conquer
- Quick Sort using divide and conquer
- Tournament Method to find min max
- Warnock Algorithm
- X Power Y
- 2 Sum
- Add Polynomials
- Amicable Numbers
- Armstrong Numbers
- Automorphic Numbers
- Average Stream Numbers
- Babylonian Method
- Binomial Coefficient
- Catalan Number
- Check is Square
- Convolution
- Coprime Numbers
- Count Digits
- Count Trailing Zeroes
- Decoding of String
- Delannoy Number
- Derangements
- DFA Division
- Diophantine
- Divided Differences
- Euler Totient
- Exponentiation Power
- Factorial
- Fast Fourier transform
- Fast inverse (sqrt) Square Root
- Birthday Paradox
- Karger Minimum Cut Algorithm
- Kth Smallest Element Algorithm
- Random from Stream
- Random Node Linked list
- Randomized Quicksort
- Reservoir Sampling
- Shuffle an Array
- Binary Search
- Exponential Search
- Fibonacci Search
- Fuzzy Search
- Interpolation Search
- Jump Search
- Linear Search
- Ternay Search
- Bead Sort
- Bogo Sort
- Bubble Sort
- Bucket Sort
- Circle Sort
- Comb Sort
- Counting Sort
- Cycle Sort
- Flash Sort
- Gnome Sort
- Heap Sort
- Insertion Sort
- Intro Sort
- Median Sort
- Merge Sort
- Pipeonhole Sort
- Quick Sort
- Radix Sort
- Selection Sort
- Shaker Sort
- Shell Sort
- Sleep Sort
- Stooge Sort
- Topological Sort
- Tree Sort
- Aho Corasick Algorithm
- Anagram Search
- Arithmetic on large numbers
- Boyer Moore Algorithm
- Finite Automata
- Kasai Algorithm
- Kmp Algorithm
- Levenshteing Distance
- Lipogram Checker
- Average
- Biggest of n numbers
- Biggest Suffix
- Fifteen Puzzle
- Jaccard Similarity
- Jose Phus Problem
- Lapindrom Checker
- Leap Year
- Magic Square
- Majority Element
- Minimum subarray size with degree
- No operator addition
- Paint fill
- Split list
- Tokenizer
- Unique number
This work is released under MIT License.
To the extent possible under law,Abraham Hernandez (@abranhe) has waived all copyright and related or neighboring rights to this work.
About
Implementation of All ▲lgorithms in Rust Programming Language
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors5
Uh oh!
There was an error while loading.Please reload this page.