A collection of algorithms implemented in C# for .NET developers.
This repository contains various algorithms implemented in C#. These algorithms cover a wide range of topics including searching, sorting, linked lists, strings, and binary trees. Each algorithm is implemented as a separate method or class, providing a clear and concise solution to a specific problem.
- Binary Search
- Finding the Largest and Smallest Number in an Unsorted Integer Array
- Finding Pairs with a Given Sum in an Integer Array
- Finding the Middle Element of a Singly Linked List
- Reversing a Linked List
- Detecting Cycle in a Linked List and Finding the Starting Node of the Cycle
- Checking if Two Strings are Anagrams of Each Other
- Checking if a String is a Palindrome
- Removing Duplicates from an Array in Place
- Preorder Traversal in a Binary Tree
- Inorder Traversal in a Binary Tree
- Implementing a Binary Search Tree
- Reversing Words in a Sentence
- Printing Duplicate Characters from a String
- Implementing the Insertion Sort Algorithm
- Counting the Occurrence of a Given Character in a String
- Finding the Occurrence of a Given Character in a String
- Removing Duplicates from an Array without Using Any Library
- Finding the Missing Number in a Given Integer Array of 1 to 100
To use these algorithms, simply call the corresponding methods or instantiate the necessary classes within your C# code. You can copy and paste the implementations directly into your project or reference this repository as a submodule.
Contributions are welcome! If you have an algorithm or data structure implementation that you'd like to add, feel free to open a pull request.