TheAlgorithms / C-Sharp

All algorithms implemented in C#.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Refresh algorithms

siriak opened this issue · comments

I propose to update all algorithms to match coding standards. As a reference, please take a look at already refreshed algorithms. I will update this checklist as necessary. Feel free to make PRs and reference this issue there.

Encoders

  • Caesar
  • Hill
  • Vigenere

Data Compression

  • Huffman Encoding
  • Shannon-Fano Encoding

Numeric

  • Binary GCD
  • Euclidean GCD
  • Other
  • Fermat Prime Checker
  • Prime Finder
  • Sieve of Eratosthenes
  • Vowel Checker
  • Searches
  • A-Star
  • Binary
  • Linear

Sorts

  • Binary Insertion
  • Bogo
  • Bubble
  • Bucket
  • Cocktail
  • Cycle
  • Heap
  • Insertion
  • Merge
  • Pancake
  • Quick
  • Radix
  • Selection
  • Shell

String

  • Longest Consecutive Character
  • Palindrome Checker

Traversals

  • Tree Traversal

I can work it. Where is the coding standards reference?

@justindongqiang , take a look at BubbleSorter, CaesarEncoder or VigenereEncoder, these classes are well-written. In general, the process is as follows:

  1. Add an interface that a bunch of classes will implement (interface ISorter) (if it's not added yet)
  2. Add a class that implements the interface (class BubbleSorter)
  3. Write an algorithm in corresponding method (method Sort)
  4. Add unit tests to check whether the algorithm works correctly (class BubbleSorterTests)

Step 4 can be implemented later. Also please write which algorithm(s) you will be working on, so that others won't work on them.

Cool, we did it! Thanks to everyone who helped to make it happen, especially to the most frequent contributor @1fisedi