The Algorithms - C# This repository contains algorithms and data structures implemented in C# for eductional purposes. Overview Algorithms Data Compression Burrows-Wheeler transform Huffman Compressor Shannon-Fano Compressor Encoders Caesar Vigenere Hill NYSIIS Soundex Knapsack problem Naive solver Dynamic Programming solver Linear Algebra Eigenvalue Power Iteration Numeric Decomposition LU Singular Vector Decomposition Greatest Common Divisor Euclidean GCD Binary GCD Factorization Trial division Series Maclaurin Gauss-Jordan Elimination Pseudo-Inverse Searches A-Star Binary Recursive Binary Linear FastSearch Knuth–Morris–Pratt Sorts Comparison Binary Insertion Bogo Bubble Cocktail Comb Cycle Heap Insertion Merge Pancake Quick Median of three pivot Middle point pivot Random pivot Selection Shell External Merge Integer Counting Bucket Radix String MSD Radix Sequences A000027 Natural A000040 Primes A000045 Fibonacci String Longest Consecutive Character Naive String Search Rabin Karp Boyer Moore Palindrome Checker Other Fermat Prime Checker Sieve of Eratosthenes Luhn Problems Stable Marriage Gale-Shapley Data Structures Bit Array Singly Linked List Doubly Linked List Min-Max Heap Timeline Segment Trees Segment Tree Segment Tree Multiplication Segment Tree Update Array-based Queue List-based Queue Stack-based Queue Binary Search Tree AA Tree Binary Heap Contribution You can contribute with pleasure to this repository. Please orient on the directory structure and overall code style of this repository. If you want to ask a question or suggest something, please open an issue.