Skip to content

Experimental playground for various algorithms and data structures in .NET Core and C#

Notifications You must be signed in to change notification settings

barnese/EBAlgorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EBAlgorithms

Experimental playground for various algorithms and data structures written in .NET Core and C#.

Contents

  • Generic Data structures

    • AVLTree
    • BinarySearchTree
      • breadth-first traversal
      • depth-first traversal (in-order, pre-order and post-order)
    • Graph
      • Search (breadth-first, depth-first)
      • Find shortest paths using Dijkstra and Bellman-Ford
      • Topological sort
    • HashMap
    • Heap (min-heap and max-heap)
    • LinkedList
    • PriorityQueue
    • Queue
    • Stack
  • Sorting

    • AVL sort
    • bucket sort
    • counting sort
    • heapsort
    • insertion sort
    • mergesort
    • quicksort
    • radix sort
  • Distance

    • Document distance using dot product of vectors
    • Levenshtein
    • Wagner-Fischer
  • Numbers

    • Catalan numbers
    • Heap's Algorithm for finding permutations of a list of integers
    • General prime number test
    • Lucas-Lehmer Mersenne prime number test
    • Sieve of Eratosthenes
  • Strings

    • Karp Rabin search
    • permutation finder
    • palindrome check

Project Layout

  • Source/EBAlgorithms - class library containing the algorithms.
  • Source/Console - console application for random tests during development.
  • UnitTests - unit tests for the library.

Building and Running

To run the console program:

cd Source\Console
dotnet run

To run the unit tests:

cd UnitTests
dotnet test

To build all the projects from the root folder:

dotnet build **/project.json

About

Experimental playground for various algorithms and data structures in .NET Core and C#

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages