Written in C# using .NET library. Goal of this project is not to provide powerful, generic and fast library for everyday use, but a helpful (and relatively small) library which you might use in your own project, modify it or learn from it. Motto of this library is "Hey, I like this part, I think I will take it and use it in my project" (of course under project's license). I (the author) do this library just for fun and for personal use.
- Binary Heap
- (Double) Linked List
- Vector (C++ STL equivalent)
- HashTable
- CircularQueue
- SplayTree
- Graph representation and algorithms
- Dijkstra
- Bellman-Ford
- Cycle detection
- Connectivity components counter
- Kruskal minimal spanning tree
- BFS
- DFS
- Matrix representation and algorithms
- Matrix
- Transpose
- Gauss elimination
- Arithmetic operations
- MatrixNxN
- Determinant (La Place)
- Inverse
- Cramers rule
- Matrix division
- Matrix3x3
- Determinant using Sarrus rule
- Matrix
- Prime number generator
- Numeric utilities
- Prime number testing
- GCD
- LCM
- Eratosthenes sieve
- Modulo solver
- Double comparer (epsillon)
- Statistics (on weighted and unweighted values if possible)
- Average value
- Expected value
- Variance
- Covariance
- Standard Error
- Pearson's corellation
- Median
- Modus
- Moving average
- Linear regression
- Sorting algorithms
- Quicksort
- Mergesort
- Heapsort
- Simple cryptography
- RSA (prime number factorization problem)
- ElGamal (discrete logarithm problem)
and many more...
Each class and method contains equivalent set of Unit tests, but if you find a bug, feel free to pull a request!