{"id":15037433,"url":"https://github.com/thealgorithms/c-sharp","last_synced_at":"2025-05-12T11:16:19.575Z","repository":{"id":38240409,"uuid":"64454952","full_name":"TheAlgorithms/C-Sharp","owner":"TheAlgorithms","description":"All algorithms implemented in C#.","archived":false,"fork":false,"pushed_at":"2024-12-06T08:16:07.000Z","size":1568,"stargazers_count":7486,"open_issues_count":1,"forks_count":1578,"subscribers_count":216,"default_branch":"master","last_synced_at":"2025-05-12T11:16:16.406Z","etag":null,"topics":["algorithm","algorithms","algorithms-and-data-structures","c-sharp","data-structures","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheAlgorithms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"TheAlgorithms","issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-07-29T06:04:43.000Z","updated_at":"2025-05-12T00:19:12.000Z","dependencies_parsed_at":"2023-02-16T10:01:51.334Z","dependency_job_id":"b577e819-74e1-4391-b6be-92c75f333975","html_url":"https://github.com/TheAlgorithms/C-Sharp","commit_stats":{"total_commits":424,"total_committers":135,"mean_commits":3.140740740740741,"dds":0.7712264150943396,"last_synced_commit":"cf193527738d2d5c6d30dffad0211f8c81740c0b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorithms%2FC-Sharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorithms%2FC-Sharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorithms%2FC-Sharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorithms%2FC-Sharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheAlgorithms","download_url":"https://codeload.github.com/TheAlgorithms/C-Sharp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253726902,"owners_count":21954095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","algorithms-and-data-structures","c-sharp","data-structures","hacktoberfest"],"created_at":"2024-09-24T20:34:37.689Z","updated_at":"2025-05-12T11:16:19.540Z","avatar_url":"https://github.com/TheAlgorithms.png","language":"C#","readme":"\u003cdiv align = \"center\"\u003e\n\n# The Algorithms - C#\n\n[![Discord chat](https://img.shields.io/discord/808045925556682782.svg?logo=discord\u0026colorB=7289DA)](https://discord.gg/c7MnfGFGa6)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/58895a2795bd48a8b3b7eb6ebe22d576)](https://www.codacy.com/gh/TheAlgorithms/C-Sharp/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=TheAlgorithms/C-Sharp\u0026amp;utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/TheAlgorithms/C-Sharp/branch/master/graph/badge.svg)](https://codecov.io/gh/TheAlgorithms/C-Sharp)\n[![Donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/TheAlgorithms/donate)\n\n## All Algorithms implemented in C# - for education purposes\n\nThe repository is a collection of a variety of algorithms implemented in C#. The algorithms span over a variety of topics\nfrom computer science, mathematics and statistics, data science, machine learning, engineering, etc. The implementations\nand their associated documentations are meant to provide a learning resource for educators and students. Hence, one may\nfind more than one implementation for the same objective but using different algorithm strategies and optimizations.\n\n\u003c/div\u003e\n\n## List of Algorithms\n\n* [Algorithms](./Algorithms)\n  * [Crypto](./Algorithms/Crypto/)\n    * [Paddings](./Algorithms/Crypto/Paddings/)\n      * [ISO 10125-2 Padding](./Algorithms/Crypto/Paddings/Iso10126D2Padding.cs)\n      * [ISO 7816-4 Padding](./Algorithms/Crypto/Paddings/Iso7816D4Padding.cs)\n      * [X9.32 Padding](./Algorithms/Crypto/Paddings/X932Padding.cs)\n      * [TBC Padding](./Algorithms/Crypto/Paddings/TbcPadding.cs)\n      * [PKCS7 Padding](./Algorithms/Crypto/Paddings/Pkcs7Padding.cs)\n    * [Digests](./Algorithms/Crypto/Digests/)\n      * [Ascon Hash Digest](./Algorithms/Crypto/Digests/AsconDigest.cs)\n      * [MD2 Digest](./Algorithms/Crypto/Digests/Md2Digest.cs)\n  * [Data Compression](./Algorithms/DataCompression)\n    * [Burrows-Wheeler transform](./Algorithms/DataCompression/BurrowsWheelerTransform.cs)\n    * [Huffman Compressor](./Algorithms/DataCompression/HuffmanCompressor.cs)\n    * [Shannon-Fano Compressor](./Algorithms/DataCompression/ShannonFanoCompressor.cs)\n  * [Encoders](./Algorithms/Encoders)\n    * [Caesar](./Algorithms/Encoders/CaesarEncoder.cs)\n    * [Vigenere](./Algorithms/Encoders/VigenereEncoder.cs)\n    * [Hill](./Algorithms/Encoders/HillEncoder.cs)\n    * [NYSIIS](./Algorithms/Encoders/NysiisEncoder.cs)\n    * [Soundex](./Algorithms/Encoders/SoundexEncoder.cs)\n    * [Feistel](./Algorithms/Encoders/FeistelCipher.cs)\n    * [Blowfish](./Algorithms/Encoders/BlowfishEncoder.cs)\n  * [Graph](./Algorithms/Graph)\n    * [Minimum Spanning Tree](./Algorithms/Graph/MinimumSpanningTree)\n      * [Prim's Algorithm (Adjacency Matrix)](./Algorithms/Graph/MinimumSpanningTree/PrimMatrix.cs)\n      * [Kruskal's Algorithm](./Algorithms/Graph/MinimumSpanningTree/Kruskal.cs)\n    * [BreadthFirstTreeTraversal](./Algorithms/Graph/BreadthFirstTreeTraversal.cs)\n    * [BreadthFirstSearch](./Algorithms/Graph/BreadthFirstSearch.cs)\n    * [DepthFirstSearch](./Algorithms/Graph/DepthFirstSearch.cs)\n    * [Dijkstra Shortest Path](./Algorithms/Graph/Dijkstra/DijkstraAlgorithm.cs)\n    * [FloydWarshall](./Algorithms/Graph/FloydWarshall.cs)\n    * [Kosaraju](./Algorithms/Graph/Kosaraju.cs)\n  * [Knapsack problem](./Algorithms/Knapsack)\n    * [Naive solver](./Algorithms/Knapsack/NaiveKnapsackSolver.cs)\n    * [Dynamic Programming solver](./Algorithms/Knapsack/DynamicProgrammingKnapsackSolver.cs)\n    * [Branch and bound solver](./Algorithms/Knapsack/BranchAndBoundKnapsackSolver.cs)\n    * [IHeuristicKnapsackSolver](./Algorithms/Knapsack/IHeuristicKnapsackSolver.cs)\n  * [Linear Algebra](./Algorithms/LinearAlgebra)\n    * [Distances](./Algorithms/LinearAlgebra/Distances)\n      * [Chebyshev](./Algorithms/LinearAlgebra/Distances/Chebyshev.cs)\n      * [Euclidean](./Algorithms/LinearAlgebra/Distances/Euclidean.cs)\n      * [Manhattan](./Algorithms/LinearAlgebra/Distances/Manhattan.cs)\n      * [Minkowski](./Algorithms/LinearAlgebra/Distances/Minkowski.cs)\n    * [Eigenvalue](./Algorithms/LinearAlgebra/Eigenvalue)\n      * [Power Iteration](./Algorithms/LinearAlgebra/Eigenvalue/PowerIteration.cs)\n  * [Modular Arithmetic](./Algorithms/ModularArithmetic)\n    * [Chinese Remainder Theorem](./Algorithms/ModularArithmetic/ChineseRemainderTheorem.cs)\n    * [Extended Euclidean Algorithm](./Algorithms/ModularArithmetic/ExtendedEuclideanAlgorithm.cs)\n    * [Modular Multiplicative Inverse](./Algorithms/ModularArithmetic/ModularMultiplicativeInverse.cs)\n  * [Numeric](./Algorithms/Numeric)\n    * [Absolute](./Algorithms/Numeric/Abs.cs) \n    * [Addition Without Arithmetic](./Algorithms/Numeric/AdditionWithoutArithmetic.cs) \n    * [Aliquot Sum Calculator](./Algorithms/Numeric/AliquotSumCalculator.cs)\n    * [Amicable Numbers Checker](./Algorithms/Numeric/AmicableNumbersChecker.cs)\n    * [Ceil](./Algorithms/Numeric/Ceil.cs)\n    * [Decomposition](./Algorithms/Numeric/Decomposition)\n      * [LU Decomposition](./Algorithms/Numeric/Decomposition/LU.cs)\n      * [Thin Singular Vector Decomposition](./Algorithms/Numeric/Decomposition/ThinSVD.cs)\n    * [Floor](./Algorithms/Floor.cs)\n    * [Greatest Common Divisor](./Algorithms/Numeric/GreatestCommonDivisor)\n      * [Euclidean GCD](./Algorithms/Numeric/GreatestCommonDivisor/EuclideanGreatestCommonDivisorFinder.cs)\n      * [Binary GCD](./Algorithms/Numeric/GreatestCommonDivisor/BinaryGreatestCommonDivisorFinder.cs)\n    * [Factorization](./Algorithms/Numeric/Factorization)\n      * [Trial division Factorization](./Algorithms/Numeric/Factorization/TrialDivisionFactorizer.cs)\n    * [Modular Exponentiation](./Algorithms/Numeric/ModularExponentiation.cs)\n    * [Series](./Algorithms/Numeric/Series)\n      * [Maclaurin Series](./Algorithms/Numeric/Series/Maclaurin.cs)\n    * [Gauss-Jordan Elimination](./Algorithms/Numeric/GaussJordanElimination.cs)\n    * [BinomialCoefficient](./Algorithms/Numeric/BinomialCoefficient.cs)\n    * [Factorial](./Algorithms/Numeric/Factorial.cs)\n    * [Keith Number Checker](./Algorithms/Numeric/KeithNumberChecker.cs)\n    * [Pseudo-Inverse](./Algorithms/Numeric/Pseudoinverse/PseudoInverse.cs)\n    * [Narcissistic Number Checker](./Algorithms/Numeric/NarcissisticNumberChecker.cs)\n    * [Perfect Cube Checker](./Algorithms/Numeric/PerfectCubeChecker.cs)\n    * [Perfect Number Checker](./Algorithms/Numeric/PerfectNumberChecker.cs)\n    * [Perfect Square Checker](./Algorithms/Numeric/PerfectSquareChecker.cs)\n    * [Euler Method](./Algorithms/Numeric/EulerMethod.cs)\n    * [Classic Runge-Kutta Method](./Algorithms/Numeric/RungeKuttaMethod.cs)\n    * [Miller-Rabin primality check](./Algorithms/Numeric/MillerRabinPrimalityChecker.cs)\n    * [KrishnamurthyNumberChecker](./Algorithms/Numeric/KrishnamurthyNumberChecker.cs)\n    * [Automorphic Number](./Algorithms/Numeric/AutomorphicNumber.cs)\n    * [Josephus Problem](./Algorithms/Numeric/JosephusProblem.cs)\n    * [Newton's Square Root Calculation](./Algorithms/NewtonSquareRoot.cs)\n    * [SoftMax Function](./Algorithms/Numeric/SoftMax.cs)\n  * [RecommenderSystem](./Algorithms/RecommenderSystem)\n    * [CollaborativeFiltering](./Algorithms/RecommenderSystem/CollaborativeFiltering)\n  * [Searches](./Algorithms/Search)\n    * [A-Star](./Algorithms/Search/AStar/)\n    * [Binary Search](./Algorithms/Search/BinarySearcher.cs)\n\t* [BoyerMoore Search](./Algorithms/Search/BoyerMoore.cs)\n    * [Fast Search](./Algorithms/Search/FastSearcher.cs)\n    * [Fibonacci Search](./Algorithms/Search/FibonacciSearcher.cs)\n    * [Interpolation Search](./Algorithms/Search/InterpolationSearch.cs)\n    * [Jump Search](./Algorithms/Search/JumpSearcher.cs)\n    * [Linear Search](./Algorithms/Search/LinearSearcher.cs)\n    * [Recursive Binary Search](./Algorithms/Search/RecursiveBinarySearcher.cs)\n  * [Sorts](./Algorithms/Sorters)\n    * [Comparison](./Algorithms/Sorters/Comparison)\n      * [Binary Insertion Sort](./Algorithms/Sorters/Comparison/BinaryInsertionSorter.cs)\n      * [Bogo Sort](./Algorithms/Sorters/Comparison/BogoSorter.cs)\n      * [Bubble Sort](./Algorithms/Sorters/Comparison/BubbleSorter.cs)\n      * [Cocktail Sort](./Algorithms/Sorters/Comparison/CocktailSorter.cs)\n      * [Comb Sort](./Algorithms/Sorters/Comparison/CombSorter.cs)\n      * [Cycle Sort](./Algorithms/Sorters/Comparison/CycleSorter.cs)\n      * [Exchange Sort](./Algorithms/Sorters/Comparison/ExchangeSorter.cs)\n      * [Heap Sort](./Algorithms/Sorters/Comparison/HeapSorter.cs)\n      * [Insertion Sort](./Algorithms/Sorters/Comparison/InsertionSorter.cs)\n      * [Merge Sort](./Algorithms/Sorters/Comparison/MergeSorter.cs)\n      * [Pancake Sort](./Algorithms/Sorters/Comparison/PancakeSorter.cs)\n      * [Quick Sort](./Algorithms/Sorters/Comparison/QuickSorter.cs)\n        * [Median of three pivot](./Algorithms/Sorters/Comparison/MedianOfThreeQuickSorter.cs)\n        * [Middle point pivot](./Algorithms/Sorters/Comparison/MiddlePointQuickSorter.cs)\n        * [Random pivot](./Algorithms/Sorters/Comparison/RandomPivotQuickSorter.cs)\n      * [Selection Sort](./Algorithms/Sorters/Comparison/SelectionSorter.cs)\n      * [Shell Sort](./Algorithms/Sorters/Comparison/ShellSorter.cs)\n      * [Tim Sort](./Algorithms/Sorters/Comparison/TimSorter.cs)\n      * [Simplified Tim Sort](./Algorithms/Sorters/Comparison/BasicTimSorter.cs)\n    * [External](./Algorithms/Sorters/External)\n      * [Merge Sort](./Algorithms/Sorters/External/ExternalMergeSorter.cs)\n    * [Integer](./Algorithms/Sorters/Integer)\n      * [Counting Sort](./Algorithms/Sorters/Integer/CountingSorter.cs)\n      * [Bucket Sort](./Algorithms/Sorters/Integer/BucketSorter.cs)\n      * [Radix Sort](./Algorithms/Sorters/Integer/RadixSorter.cs)\n    * [String](./Algorithms/Sorters/String)\n      * [MSD Radix Sort](./Algorithms/Sorters/String/MsdRadixStringSorter.cs)\n  * [Shufflers](./Algorithms/Shufflers)\n    * [Fisher-Yates Shuffler](./Algorithms/Shufflers/FisherYatesShuffler.cs)\n  * [Sequences](./Algorithms/Sequences)\n    * [A000002 Kolakoski](./Algorithms/Sequences/KolakoskiSequence.cs)\n    * [A000004 Zero](./Algorithms/Sequences/ZeroSequence.cs)\n    * [A000005 Count of Divisors](./Algorithms/Sequences/DivisorsCountSequence.cs)\n    * [A000008 Make Change](./Algorithms/Sequences/MakeChangeSequence.cs)\n    * [A000010 Euler's Totient](./Algorithms/Sequences/EulerTotientSequence.cs)\n    * [A000012 All Ones](./Algorithms/Sequences/AllOnesSequence.cs)\n    * [A000027 Natural](./Algorithms/Sequences/NaturalSequence.cs)\n    * [A000032 Lucas Numbers](./Algorithms/Sequences/LucasNumbersBeginningAt2Sequence.cs)\n    * [A000040 Primes](./Algorithms/Sequences/PrimesSequence.cs)\n    * [A000045 Fibonacci](./Algorithms/Sequences/FibonacciSequence.cs)\n    * [A000079 Powers of 2](./Algorithms/Sequences/PowersOf2Sequence.cs)\n    * [A000108 Catalan](./Algorithms/Sequences/CatalanSequence.cs)\n    * [A000120 1's Counting](./Algorithms/Sequences/OnesCountingSequence.cs)\n    * [A000124 Central Polygonal Numbers](./Algorithms/Sequences/CentralPolygonalNumbersSequence.cs)\n    * [A000125 Cake Numbers](./Algorithms/Sequences/CakeNumbersSequence.cs)\n    * [A000142 Factorial](./Algorithms/Sequences/FactorialSequence.cs)\n    * [A000213 Tribonacci Numbers](./Algorithms/Sequences/TribonacciNumbersSequence.cs)\n    * [A000215 Fermat Numbers](./Algorithms/Sequences/FermatNumbersSequence.cs)\n    * [A000288 Tetranacci Numbers](./Algorithms/Sequences/TetranacciNumbersSequence.cs)\n    * [A000290 Squares](./Algorithms/Sequences/SquaresSequence.cs)\n    * [A000292 Tetrahedral numbers](./Algorithms/Sequences/TetrahedralSequence.cs)\n    * [A000578 Cubes](./Algorithms/Sequences/CubesSequence.cs)\n    * [A000720 PrimePi](./Algorithms/Sequences/PrimePiSequence.cs)\n    * [A001146 Number of Boolean Functions](./Algorithms/Sequences/NumberOfBooleanFunctionsSequence.cs)\n    * [A001462 Golomb's](./Algorithms/Sequences/GolombsSequence.cs)\n    * [A001478 Negative Integers](./Algorithms/Sequences/NegativeIntegersSequence.cs)\n    * [A002110 Primorial Numbers](./Algorithms/Sequences/PrimorialNumbersSequence.cs)\n    * [A002717 Matchstick Triangle Arrangement](./Algorithms/Sequences/MatchstickTriangleSequence.cs)\n    * [A005132 Recaman's](./Algorithms/Sequences/RecamansSequence.cs)\n    * [A006577 Number of '3n+1' steps to reach 1](./Algorithms/Sequences/ThreeNPlusOneStepsSequence.cs)\n    * [A006862 Euclid Numbers](./Algorithms/Sequences/EuclidNumbersSequence.cs)\n    * [A006879 Number of Primes by Number of Digits](./Algorithms/Sequences/NumberOfPrimesByNumberOfDigitsSequence.cs)\n    * [A006880 Number of Primes by Powers of 10](./Algorithms/Sequences/NumberOfPrimesByPowersOf10Sequence.cs)\n    * [A007318 Binomial](./Algorithms/Sequences/BinomialSequence.cs)\n    * [A007395 All Twos](./Algorithms/Sequences/AllTwosSequence.cs)\n    * [A010051 Binary Prime Constant](./Algorithms/Sequences/BinaryPrimeConstantSequence.cs)\n    * [A010701 All Threes](./Algorithms/Sequences/BinaryPrimeConstantSequence.cs)\n    * [A011557 Powers of 10](./Algorithms/Sequences/PowersOf10Sequence.cs)\n    * [A057588 Kummer Numbers](./Algorithms/Sequences/KummerNumbersSequence.cs)\n    * [A019434 Fermat Primes](./Algorithms/Sequences/FermatPrimesSequence.cs)\n    * [A181391 Van Eck's](./Algorithms/Sequences/VanEcksSequence.cs)\n  * [Stack](./Algorithms/Stack)\n      * [Next Greater Element](./Algorithms/Stack/NextGreaterElement.cs)\n      * [Balanced Parentheses Checker](./Algorithms/Stack/BalancedParenthesesChecker.cs)\n      * [Reverse Stack](./Algorithms/Stack/ReverseStack.cs)\n  * [String](./Algorithms/Strings)\n    * [Similarity](./Algorithms/Strings/Similarity/)\n      * [Cosine Similarity](./Algorithms/Strings/Similarity/CosineSimilarity.cs)\n      * [Damerau-Levenshtein Distance](./Algorithms/Strings/Similarity/DamerauLevenshteinDistance.cs)\n      * [Hamming Distance](./Algorithms/Strings/Similarity/HammingDistance.cs)\n      * [Jaro Similarity](./Algorithms/Strings/Similarity/JaroSimilarity.cs)\n      * [Jaro-Winkler Distance](./Algorithms/Strings/Similarity/JaroWinklerDistance.cs)\n      * [Optimal String Alignment](./Algorithms/Strings/Similarity/OptimalStringAlignment.cs)\n    * [Pattern Matching](./Algorithms/Strings/PatternMatching/)\n      * [Bitop Pattern Matching](./Algorithms/Strings/PatternMatching/Bitap.cs)\n      * [Naive String Search](./Algorithms/Strings/PatternMatching/NaiveStringSearch.cs)\n      * [Rabin Karp](./Algorithms/Strings/PatternMatching/RabinKarp.cs)\n      * [Boyer Moore](./Algorithms/Strings/PatternMatching/BoyerMoore.cs)\n      * [Knuth–Morris–Pratt Search](./Algorithms/Strings/PatternMatching/KnuthMorrisPrattSearcher.cs)\n      * [WildCard Pattern Matching](./Algorithms/Strings/PatternMatching/WildCardMatcher.cs)\n      * [Z-block substring search](./Algorithms/Strings/PatternMatching/ZblockSubstringSearch.cs)\n    * [Longest Consecutive Character](./Algorithms/Strings/GeneralStringAlgorithms.cs)\n    * [Palindrome Checker](./Algorithms/Strings/Palindrome.cs)\n    * [Get all permutations of a string](./Algorithms/Strings/Permutation.cs)\n  * [Other](./Algorithms/Other)\n    * [Fermat Prime Checker](./Algorithms/Other/FermatPrimeChecker.cs)\n    * [Sieve of Eratosthenes](./Algorithms/Other/SieveOfEratosthenes.cs)\n    * [Luhn](./Algorithms/Other/Luhn.cs)\n    * [Int2Binary](./Algorithms/Other/Int2Binary.cs)\n    * [GeoLocation](./Algorithms/Other/GeoLocation.cs)\n    * [Mandelbrot](./Algorithms/Other/Mandelbrot.cs)\n    * [Koch Snowflake](./Algorithms/Other/KochSnowflake.cs)\n    * [RGB-HSV Conversion](./Algorithms/Other/RGBHSVConversion.cs)\n    * [Flood Fill](./Algorithms/Other/FloodFill.cs)\n    * [Pareto Optimization](./Algorithms/Other/ParetoOptimization.cs)\n    * [Gauss Optimization](./Algorithms/Other/GaussOptimization.cs)\n    * [Decisions Convolutions](./Algorithms/Other/DecisionsConvolutions.cs)\n    * [Welford's Variance](./Algorithms/Other/WelfordsVariance.cs)\n    * [Julian Easter](./Algorithms/Other/JulianEaster.cs)\n    * [Pollard's Rho](./Algorithms/Other/PollardsRhoFactorizing.cs)\n    * [GeoLocation Hash](./Algorithms/Other/Geohash.cs)\n    * [Geofencing](./Algorithms/Other/Geofence.cs)\n    * [Triangulation Algorithm](./Algorithms/Other/Triangulator.cs)\n  * [Problems](./Algorithms/Problems)\n    * [Stable Marriage](./Algorithms/Problems/StableMarriage)\n      * [Gale-Shapley](./Algorithms/Problems/StableMarriage/GaleShapley.cs)\n      * [Accepter](./Algorithms/Problems/StableMarriage/Accepter.cs)\n      * [Proposer](./Algorithms/Problems/StableMarriage/Proposer.cs)\n    * [N-Queens](./Algorithms/Problems/NQueens)\n      * [Backtracking](./Algorithms/Problems/NQueens/BacktrackingNQueensSolver.cs)\n    * [Dynamic Programming](./Algorithms/Problems/DynamicProgramming)\n      * [Coin Change](./Algorithms/Problems/DynamicProgramming/CoinChange/DynamicCoinChangeSolver.cs)\n      * [Levenshtein Distance](./Algorithms/Problems/DynamicProgramming/LevenshteinDistance/LevenshteinDistance.cs)\n\n* [Data Structures](./DataStructures)\n  * [Bit Array](./DataStructures/BitArray.cs)\n  * [Timeline](./DataStructures/Timeline.cs)\n  * [Segment Trees](./DataStructures/SegmentTrees)\n    * [Segment Tree](./DataStructures/SegmentTrees/SegmentTree.cs)\n    * [Segment Tree Multiplication](./DataStructures/SegmentTrees/SegmentTreeApply.cs)\n    * [Segment Tree Update](./DataStructures/SegmentTrees/SegmentTreeUpdate.cs)\n  * [Binary Search Tree](./DataStructures/BinarySearchTree)\n  * [Scapegoat Tree](./DataStructures/ScapegoatTree)\n  * [Fenwick tree (or Binary Indexed Tree)](./DataStructures/Fenwick/BinaryIndexedTree.cs)\n  * [AA Tree](./DataStructures/AATree)\n  * [AVL Tree](./DataStructures/AVLTree)\n  * [Red-Black Tree](./DataStructures/RedBlackTree)\n  * [Stack](./DataStructures/Stack)\n    * [Array-based Stack](./DataStructures/Stack/ArrayBasedStack.cs)\n    * [List-based Stack](./DataStructures/Stack/ListBasedStack.cs)\n    * [Queue-based Stack](./DataStructures/Stack/QueueBasedStack.cs)\n  * [Heap](./DataStructures/Heap)\n    * [Min-Max Heap](./DataStructures/Heap/MinMaxHeap.cs)\n    * [Binary Heap](./DataStructures/Heap/BinaryHeap.cs)\n    * [Fibonacci Heap](./DataStructures/Heap/FibonacciHeap/FibonacciHeap.cs)\n    * [Pairing Heap](./DataStructures/Heap/PairingHeap/PairingHeap.cs)\n  * [Probabilistic](./DataStructures/Probabilistic)\n    * [BloomFilter](./DataStructures/Probabilistic/BloomFilter.cs)\n    * [Count-Min Sketch](./DataStructures/Probabilistic/CountMinSketch.cs)\n    * [HyperLogLog](./DataStructures/Probabilistic/HyperLogLog.cs)\n  * [Queue](./DataStructures/Queue)\n    * [Array-based Queue](./DataStructures/Queue/ArrayBasedQueue.cs)\n    * [List-based Queue](./DataStructures/Queue/ListBasedQueue.cs)\n    * [Stack-based Queue](./DataStructures/Queue/StackBasedQueue.cs)\n  * [Linked List](./DataStructures/LinkedList)\n    * [Singly Linked List](./DataStructures/LinkedList/SinglyLinkedList/SinglyLinkedList.cs)\n    * [Doubly Linked List](./DataStructures/LinkedList/DoublyLinkedList/DoublyLinkedList.cs)\n    * [Skip List](./DataStructures/LinkedList/SkipList/SkipList.cs)\n    * [Circular Linked List](./DataStructures/LinkedList/CircularLinkedList/CircularLinkedList.cs)\t\n  * [Graph](./DataStructures/Graph)\n    * [Directed Weighted Graph Via Adjacency Matrix](./DataStructures/Graph/DirectedWeightedGraph.cs)\n  * [Disjoint Set](./DataStructures/DisjointSet)\n  * [SortedList](./DataStructures/SortedList.cs)\n  * [Inverted index](./DataStructures/InvertedIndex.cs)\n  * [Unrolled linked list](./DataStructures/UnrolledList/UnrolledLinkedList.cs)\n  * [Tries](./DataStructures/Tries/Trie.cs)\n  * [HashTable](./DataStructures/Hashing/HashTable.cs)\n  * [Cache](./DataStructures/Cache)\n    * [Least Frequently Used (LFU) Cache](./DataStructures/Cache/LfuCache.cs)\n    * [Least Recently Used (LRU) Cache](./DataStructures/Cache/LruCache.cs)\n\n## Project Update: .NET 8 Migration\n\nAs part of our continuous effort to stay up-to-date with the latest technologies, we have migrated our project to .NET 8. This upgrade enhances our project with the latest features and improvements from the .NET ecosystem.\n\n### New Requirements\n\n* To build and run this project, **.NET 8 SDK** is now required.\n* Ensure your development tools are compatible with .NET 8.\n\n### Building the Project\n\n* With .NET 8 SDK installed, you can build the project using the standard `dotnet build` command.\n* All existing build scripts have been updated to accommodate the .NET 8 SDK.\n\n### Running Tests\n\n* Our comprehensive suite of unit tests ensures compatibility with .NET 8.\n* Run tests using the `dotnet test` command as usual.\n\n## Contributing\n\nYou can contribute with pleasure to this repository.\nPlease orient on the directory structure and overall code style of this repository\nand refer to [our contributing guidelines](./CONTRIBUTING.md) for more details.\nIf you want to ask a question or suggest something, please open an issue.\n","funding_links":["https://liberapay.com/TheAlgorithms","https://liberapay.com/TheAlgorithms/donate"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealgorithms%2Fc-sharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthealgorithms%2Fc-sharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealgorithms%2Fc-sharp/lists"}