Here is a custom implementation of many algorithms. Edits and improvements are welcomed. Below is a list for a quick transition.
- Exchange Sorts
- Bubble sort
- Cocktail shaker sort or bidirectional bubble sort
- Comb sort
- Quicksort♻️
- Odd–even sort♻️
- Gnome sort
- Hybrid
- Timsort♻️
- Insertion sorts
- Insertion sort
- Shell sort
- Tree sort♻️
- Merge sorts
- Merge sort♻️
- Selection sorts
- Heapsort♻️
- Selection sort
- Distribution sorts
- Counting sort
- Radix sort♻️
- Root finding♻️
- Solving systems of linear equations
- Interpolation and extrapolation🌀
- Calculation of integrals
- Differentiation🌀
(presented in this repository)
- Asymmetric (public key) encryption
- DSA
- RSA
- ElGamal
- Cryptographic hash functions
- HMAC
- MD5
- SHA-2
- Cryptographically secure pseudo-random number generators
- Fortuna
- Yarrow algorithm
- Key exchange
- Diffie–Hellman key exchange
- Key derivation function
- Symmetric (secret key) encryption
- Advanced Encryption Standard (AES)
- Data Encryption Standard (DES)
- Picture Modifications(rotate, zoom, transfer)🌀
- Line Drawing
- Bresenham's line algorithm
- Without smoothing
- With smoothing
- DDA line algorithm♻️
- Bresenham's line algorithm
- Circle and Ellips Drawing🌀
- According to the equation
- Сanonical equation
- Parametric equation
- Bresenham's algorithm
- Midpoint circle/ellips algorithm
- According to the equation
- Filling Algorithms🌀
- The algorithm with the sorted list of edges
- The algorithm in the ribs
- The algorithm with partition
- The algorithm with the flag
- Clipping
- Cohen–Sutherland
- Half-division algorithm
- Simple algorithm
- Multiplication algorithms
- Karatsuba algorithm
- Schönhage–Strassen algorithm
- Fürer’s algorithm
- Algorithms of modular arithmetic
- Montgomery modular multiplication
- Algorithm for finding the order of an element
- Exponentiation by squaring
- Discrete logarithm
- Baby-step giant-step
- Algorithms for finding the greatest common divisor (GCD) of two numbers
- Euclid's algorithm
- Extended Euclidean algorithm
- Binary GCD algorithm
- Prime number
- Finding prime numbers
- Trial division
- Sieve of Eratosthenes
- Sieve of Atkin
- Primality tests
- Deterministic tests of primality
- Fermat primality test
- AKS primality test
- Lucas primality test
- Probabilistic tests of primality
- Miller–Rabin primality test
- Deterministic tests of primality
- Finding prime numbers
- Integer factorization
- Algorithms with exponential complexity
- Trial division
- Fermat's factorization method
- Algorithms with subexponential complexity
- Quadratic sieve
- ...
- Algorithms with exponential complexity
- Multiplying matrices
- Strassen algorithm
- Boolean
- Character
- Floating-point
- Double
- Integer
- String
- Reference (also called a pointer or handle)
- Enumerated type
- Article in Russian and in English
- Wiki: List of algorithms and List of data structures
- AlgoList (in Russian)
COMMENT:
This list can use links to other my projects where these algorithms were used. There may be errors and shortcomings. These algorithms will be divided into separate modules and improved in the last turn due to lack of time.
- ✅ - ОК
⚠️ - problem- 🆘 - need help
- ♻️ - need update
- 🌀 - in process